19-07-18, 07:22 PM
20-07-18, 12:31 PM
السلام عليكم
الله يعطيك الصحة والعافية
طبعاً انا قرأت او بحثت عن الفرق بين Entity و ِ Ado.net
لزيادة الفائدة اريد الفروق بينها مع توضح القوة لكل منهما من الاخ / ابو ايهاب شخصياً
اذا كان لديك الوقت ولم يكن لديك مانعاً.
وشكراً
او بالمختصر ما سبب توجه الكثيرين لهذه التقنية Entity
20-07-18, 03:47 PM
السلام عليكم
والله في ناس أفضل مني تشرح هذا الموضوع
لكن
شوف أخي الكريم
لازم تفهم انه EF يدعى ADO.NET EF مما يعني أن EF يجلس على رأس ADO.NET ، مما يخبرنا أنه لا يمكن أن يكون أسرع من ADO.NET. ولكن تذكر قوة LINQ التي توفر EF للمطورين. انها قوية حقا عندما يأتي مع
EF. بما أن EF تقوم بتغليف ADO.NET في الخلفية فقد استخدمت ADO.NET فقط ،
ولكن السؤال يأتي لماذا EF ثم ؟؟
نعم ، إذا استخدمنا EF و LINQ ، فإن قابلية الصيانة وتكرار االكود تقل لأننا لا نملك أن نكتب الاستعلامات الكبيرة مثل SP وكل شيء.
تنطبق جميع الحجج القياسية لـ ORM هنا.
كمان يمكنك كتابة رمز مقابل Entity Framework وسيقوم النظام تلقائيًا بإنتاج كائنات لك
وكذلك تعقب التغييرات على تلك الكائنات وتبسيط عملية تحديث قاعدة البيانات. وبالتالي ، فإن EF يمكن أن يحل محل جزء كبير من الكود
الذي يجب عليك كتابته
ولاحظ كيفية عمل DbSet بيحمل جدول وبيوله من خلال Map الى جدول فعلى في السسيكوال سيرفر مباشرة .
وعايز اقول شيئ مهم :
انظر الاتصال والتخلص من اتصال أمر حيوي جدا أن نأخذ في الاعتبار. عندما نستخدم EF ، يتم استخدام كائنات السياق للاتصال بقاعدة البيانات والتشغيل في LINQs. لذلك عندما نقوم بإنشاء مثيل جديد للسياق باستخدام "Create " مثلا ، فإنه افتراضيا ، يتم التخلص منه عندما ينتهي الاستخدام.
أيضا الآن عندما نستخدم أداة الحقن التبعية مثل Ninject ، يقومون بالتخلص داخليًا باستخدام الامتداد المعرفي. يتم التخلص من الاتصال ، ولكن في بعض الأحيان ليس على الفور.
الموضوع كبير وطويل وهناك معلومات لا اعرف كيف اوصلها لك تابعها على قناتي بيكون افضل
شخصيا أعشق EF & LINQ يوميا بتاعمل معاها وكل شغلى بها طبعا مع العملاقة #C
والله في ناس أفضل مني تشرح هذا الموضوع
لكن
شوف أخي الكريم
لازم تفهم انه EF يدعى ADO.NET EF مما يعني أن EF يجلس على رأس ADO.NET ، مما يخبرنا أنه لا يمكن أن يكون أسرع من ADO.NET. ولكن تذكر قوة LINQ التي توفر EF للمطورين. انها قوية حقا عندما يأتي مع
EF. بما أن EF تقوم بتغليف ADO.NET في الخلفية فقد استخدمت ADO.NET فقط ،
ولكن السؤال يأتي لماذا EF ثم ؟؟
نعم ، إذا استخدمنا EF و LINQ ، فإن قابلية الصيانة وتكرار االكود تقل لأننا لا نملك أن نكتب الاستعلامات الكبيرة مثل SP وكل شيء.
تنطبق جميع الحجج القياسية لـ ORM هنا.
كمان يمكنك كتابة رمز مقابل Entity Framework وسيقوم النظام تلقائيًا بإنتاج كائنات لك
وكذلك تعقب التغييرات على تلك الكائنات وتبسيط عملية تحديث قاعدة البيانات. وبالتالي ، فإن EF يمكن أن يحل محل جزء كبير من الكود
الذي يجب عليك كتابته
ولاحظ كيفية عمل DbSet بيحمل جدول وبيوله من خلال Map الى جدول فعلى في السسيكوال سيرفر مباشرة .
وعايز اقول شيئ مهم :
انظر الاتصال والتخلص من اتصال أمر حيوي جدا أن نأخذ في الاعتبار. عندما نستخدم EF ، يتم استخدام كائنات السياق للاتصال بقاعدة البيانات والتشغيل في LINQs. لذلك عندما نقوم بإنشاء مثيل جديد للسياق باستخدام "Create " مثلا ، فإنه افتراضيا ، يتم التخلص منه عندما ينتهي الاستخدام.
أيضا الآن عندما نستخدم أداة الحقن التبعية مثل Ninject ، يقومون بالتخلص داخليًا باستخدام الامتداد المعرفي. يتم التخلص من الاتصال ، ولكن في بعض الأحيان ليس على الفور.
الموضوع كبير وطويل وهناك معلومات لا اعرف كيف اوصلها لك تابعها على قناتي بيكون افضل
شخصيا أعشق EF & LINQ يوميا بتاعمل معاها وكل شغلى بها طبعا مع العملاقة #C
20-07-18, 08:14 PM
شكرا لك
الله يجزيك الف الف الف خير
+1
12-07-21, 03:16 PM