سؤال

ولقد تعديل System.Data.SQLite لاستخدام النسخة الأخيرة من محرك سكليتي أن تفرض تلقائيا المفاتيح الخارجية دون استخدام المشغلات المخصصة.

وأنا أيضا باستخدام دون سرعة الصوت الإصدار 2.x ولكن هذا ينطبق إلى أي ORM أطر باستخدام برنامج SQLite التي هي 'فتح في وقت متأخر قريب في وقت مبكر ".

وكيف يمكنك التأكد من أن البيان "foreign_keys PRAGMA = صحيح" ودعا كل SQLiteConnection.Open ()؟ لابد من وصفته أو مفاتيح خارجية لا تعمل.

هل كانت مفيدة؟

المحلول

لإصلاح هذا، وأضفت خاصية "مفاتيح خارجية لسلسلة_أحرف_الاتصال في الصف SQLiteConnection.

ومفاتيح الخارجية = ON مفاتيح الخارجية = OFF

نصائح أخرى

وأنت لا تحتاج إلى تعديل System.Data.SQLite إذا كنت ترغب في استخدام أحدث إصدار من برنامج SQLite، ومجرد استخدام النسخة ManagedOnly من System.Data.SQLite ثم قم باستبدال فقط على sqlite3.dll مع أحدث إصدار. لتمكين الدعم الرئيسي الأجانب أنا ببساطة تنفيذ عبارة SQL التي تمكن الدعم الرئيسي الأجانب. منها مثلا.

        string databasePath = "Your database path here";
        string connectionString = "Data Source=" + databasePath;
        connection = new SQLiteConnection(connectionString);
        connection.Open();

        const string sqlString = "PRAGMA foreign_keys = ON;";
        SQLiteCommand command = new SQLiteCommand(sqlString, connection);
        command.ExecuteNonQuery();
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top