LINQ + خفيفة الوزن قاعدة البيانات:التي db يجب أن أختار ؟

StackOverflow https://stackoverflow.com/questions/481684

سؤال

لقد بدأت تطبيق ويب جديد.سيكون المستضافة على خدمة رسوم إضافية ل SQL Server و بصراحة أنا لا أعتقد أن الموقع يحتاج الكثير من البيانات الخاصة بنا.الآن نموذج البيانات هو 5 الجداول.وسوف يكون لكم عن دهشتها إذا كان أكبر الجدول يذهب من أي وقت مضى من 10 آلاف السجلات.

لذا أود أن نضع db خفيفة الوزن. سكليتي منزعج اهتمامي أصلا لأنني بحاجة لمعرفة ذلك لالروبوت.ولكن عدم وجود مفاتيح خارجية يجعلني تذلل.من المؤكد انه من الممكن تنفيذ شيء يشبه قيود المفاتيح الخارجية ولكن يبدو الأمم المتحدة-العلائقية. فايربيرد يبدو فقط خفيفة الوزن (مجانا) db يدعم FKs.

كما أود حقا للحصول على قدمي الرطب في LINQ مع هذا المشروع.حتى الآن لقد وجدت فقط dbLINQ هذا يتيح لي استخدام SQLite أو فايربيرد مع LINQ.انها حاليا في v0.18 حتى انها بعيدة عن أوقات الذروة.لقد أجريت اختبارات SQLite مع dbLinq وأنها تمر على ما أريد.

كان هناك واحد آخر تنفيذ ينق ل سكليتي ولكن جميع الروابط لقد وجدت أنه في نهاية المطاف في 404s.

فما هي خيارات خفيفة الوزن قواعد البيانات التي تتوافق مع LINQ?أي الاتفاق إصدارات SQL Server يتم إلا إذا كان هناك XCOPY للنشر مع عدم تثبيت عميل/الخدمة?لا أستطيع أن يسأل المضيف إلى تثبيت برامج جديدة منذ أشك في أنها سوف تفعل ذلك و أريد التطبيق للغاية المحمولة (مع الاحترام استضافة).

قائمة حتى الآن:

  • سكليتي
  • فايربيرد
  • SQL Server ضغط
  • VistaDB

تحديث: حاولت جميع الإصدارات كتبت انطباعاتي هنا.النسخة القصيرة:سكليتي يفوز اليدين باستمرار.إنه الوحيد الذي لديه واجهة المستخدم الرسومية, لا تثبيت البصمة و مجانية.

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

المحلول 4

سكليتي.لديه واجهة المستخدم الرسومية (مع السيارات فرياكين-كاملة لا أقل) ، أي تثبيت البصمة حرة و العمل بغض النظر عن مكان استضافة الموقع.أنا أعرف أنا الإجابة على سؤالي, ولكن لا أحد آخر وضعت فقط SQLite في الرد.

المهم:سكليتي سوف تتطلب استضافة المواقع على الشبكة التي يستخدم كامل-وضع الثقة إذا كنت ترغب في تشغيله على استضافة مشتركة.

نصائح أخرى

يمكنك استخدام LINQ to SQL كما هو على قاعدة بيانات موجودة طالما يمكنك جعل القياسية IDbConnection الكائن.

هنا بعض التعليمات البرمجية استخدام LINQ على فايربيرد ديسيبل.

DbProviderFactory dbProvider = DbProviderFactories
    .GetFactory("FirebirdSql.Data.FirebirdClient");

DbConnection connection = dbProvider.CreateConnection();
connection.ConnectionString = "some connection string";

DataContext linqContext = new DataContext(connection);

var query = from something in linqContext.GetTable<SomeType>() 
            select something.someproperty;

SQL Server Compact Edition (http://en.wikipedia.org/wiki/SQLCE) يدعم LINQ و كل الأخرى مقابل أدوات بنيت في مقابل 2008, يدعم FKs ، XCOPY للنشر تلفزيون بشاشة مسطحة ملف قاعدة البيانات.حذر من أن يكون على الرغم من أنه لا يخلو من المحاذير وكذلك الكثير من الأشياء مثل آراء أو متداخلة الاستفسارات سقوط أكثر ، وأنها يمكن أن تكون جميلة المتضخمة إذا كنت البدء في الحصول على حجم قاعدة البيانات كبير جدا (أي50MB+).

سكليتي أيضا كثيرا أفضل إذا كنت تستخدم سكليتي .صافي مزود هنا (http://sqlite.phxsoftware.com/) يعمل مع LINQ كذلك ، وقد الأساسية مقابل الدعم.

أود أن أقترح عليك إلقاء نظرة على VistaDB.انها سوف تفعل بالضبط ما كنت تبحث مع فائدة إضافية على SQLCE و SQLite أنه يدعم طرق العرض والإجراءات المخزنة والمشغلات.كما واقع الأمر أنه يدعم الكتابة من الإجراءات و المشغلات في tsql ضمن وكذلك .صافي حتى تتمكن من الاستفادة من SQL Server الخاص بك .صافي المعرفة.

SQL Server Express

VistaDB هو البديل الوحيد إذا كنت ذاهب لتشغيل موقع الويب الخاص بك في الاستضافة المشتركة (تقريبا كل منهم لن تسمح لك بتشغيل مواقع الويب الخاصة بك تحت الثقة الكاملة واسطة) و أيضا إذا كنت بحاجة بسيطة x-نسخة النشر تمكين الموقع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top