سؤال

أنا لا تزال تحاول الحصول على رأسي LINQ و الوصول إلى قاعدة بيانات SQL.

كنت أعتقد دائما أن عليك فقط تنفيذ الأذونات من الإجراءات المخزنة إلى البيانات الخاصة بك.

يجب عليك ابدأ اختر / إدراج / تحديث / حذف.

(هذا هو بسبب الأداء والأمن)

للحصول على البيانات من ينق من الواضح أنك تحتاج إلى تحديد الأذونات.أنا أعلم أنك يمكن استخدام المخزنة procs مع LINQ, ولكن منذ أنا لا يمكن أن لا ينضم ما هي النقطة ؟

هل فاتني شيء؟??

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

المحلول

1) نحن المبرمجين لا DBA الفاشيين.إذا كان لديك متطلبات الدولة التي يجب أن تكون قاعدة البيانات أغلقت 100%, Linq ليست لك.أنا لا ديسيبل ، لذلك أعتقد أن معظم من الأداء/الأمن الضجيج فقط.Linq بالنسبة لي.

2) يمكنك أن تفعل ينضم مع linq.

@فيليب:Linq تلقائيا يحول التقييمات إلى استعلام معلمات ، لذلك يوفر بعض حقن sql الحماية.ومع ذلك, لا يزال لديك وثيقة تقييم الاحتياجات الخاصة بك لتحديد مقدار الأمان الذي تحتاجه و ما هي المستويات.Linq يجعل التعامل مع قاعدة البيانات أسهل بكثير ، ولكنه يجعل من الأسهل وضع secuirty التصميم على الموقد الخلفي ، الذي هو شيء سيء.

نصائح أخرى

حسنا, لأسباب أمنية يجب عدم إدخال أي المستخدم إدخال البيانات في الاستعلامات.إذا كنت العصا مع هذه القاعدة, لا أرى مشكلة وجود حدد إذن.

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

مثل أشياء أخرى كثيرة في البرمجة - ذلك يعتمد على احتياجات المشروع الخاص بك.

LinqToSql لا يدعم الإجراءات المخزنة.سكوت قو له وظيفة على ذلك:

http://weblogs.asp.net/scottgu/archive/2007/08/16/linq-to-sql-part-6-retrieving-data-using-stored-procedures.aspx

أنا كثيرا في الاتفاق مع جيف أتوود على "الإجراءات المخزنة مقابلمضمنة SQL/LINQ" المسألة: الذي يحتاج إلى إجراءات مخزنة على أي حال ؟ .

أنا في حيرة لماذا كنت ترغب في إجراء عملية الانضمام إذا كنت في SPROCs مقابل كل الحشد ؛ ألا يجب التفاف أن ينضم إلى آخر SPROC?

كما قال: LINQ لم تكن مصممة لهذا النوع من DB استخدام تتحدث عن ؛ تم تصميمه ليقدم لنا بشكل ثابت كتبته مضمنة SQL.ومع ذلك ، لا تزال التحكم في الوصول من خلال المستخدم الأذونات إذا قمت باستخدام LINQ to SQL.

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