مقایسه ی Linq TO SQL و Entity Framework
مقایسه ی Linq TO SQL و Entity Framework
Linq To SQL :
Linq To Sql با هدف تولید سریع نرم افزارهای مرتبط با SQL Server بوجود آمد.
مزایا:
1. Lazy Loading of Data
2. تولید کلاسها و متدها بصورت partial که امکان ایجاد Business Logic دلخواه و وارثت را برای برنامه نویس فراهم می کند
3. امکان بهینه سازی اجرا بوسیله Compiled Query و Stored Procedure
4. map many-to-many relationships با استفاده از کلاس میانی
Entity Framework :
سناریوی اصلی و هدف EF انعطاف بیشتر ، mapping پیچیده تر و ایجاد مدل داده ای مفهومی است. که علاوه بر امکانات Linq To Sql مزایای دیگری را نیز فراهم کرده است.
مزایا:
1. مستقل از دیتابیس : بدلیل وجود فراهم کنندگان EF برای دیتابیسهای مختلف از قبیل Oracle ، MySQL ، DB2 و... نیازی به نوشتن کوئری های متفاوت بر اساس دیتابیس نمی باشد و تنها با کوئری های LINQ می توان با با انواع منابع دیتا ارتباط برقرار کرد.
2. پشتیبانی از POCO (Plain Old CLR Objects)
3. پشتیانی از Model-First : ایجاد مدل قبل از ایجاد دیتابیس
4. Lazy Loading of Related Objects
5. پشتیبانی از نامگذاری Plurality
6. پشتیبانی از Complex Type
7. map many-to-many relationships بدون نیاز به کلاس میانی و بصورت مستقیم (مپ کردن یک کلاس به چند جدول)
8. نمایش لایه مفهومی با استفاده از EDM
9. قابلیت اشتراک یک مدل از میان Replication, Reporting Services, BI, Integration Services و...
منبع : MSDN
در این وبلاگ طراحی وب سایت بصورت عملی و کاربردی آموزش داده می شود .