راهننمایی در رابطه با تفاوت دو Syntax متفاوت LINQ TO SQL
سلام به همه ی دوستان . من تازه کار با تکنولوژی LINQ TO SQL رو شروع کردم برای بخشی از برنامم دو جور کد SELECT متفاوت نوشتم ... می خواستم بدونم کدوم یک از این سینتکس ها بهتر و سریع تره .
var query = Db.[Table].Select(c => new {c.[Field]}).Where(d=>d[Field] == txt.Text.Trim());
.FieldCSHARP] var query2 = from c in Db.[Table] where c.[Field] == txt.Text.Trim() select c;
[/CSHARP]
نقل قول: راهننمایی در رابطه با تفاوت دو Syntax متفاوت LINQ TO SQL
سینتکس دوم بهتره .
اصولا هر چی کمتر از LAMBDA استفاده کنید بهتره . چون کد رو برای کد نویس هم پیچیده می کنه و برای رایانه هم ساخت یک کلاس جدید (کاری که لامبدا در پس زمینه می کنه !) مشکلتره
نقل قول: راهننمایی در رابطه با تفاوت دو Syntax متفاوت LINQ TO SQL
ممنون دوست من ... یه سوال دیگه ... من یکی از برنامه هام رو که با استفاده از Stored Procedure نوشته بودم رو با تکنولوژی EF نوشتم ... اما سرعت بالا که نرفت هیچ ... پایین هم اومد !!!!!!! این چطور ممکنه .... EF دقیقا برای چطور پروژه هایی خوبه ؟
نقل قول: راهننمایی در رابطه با تفاوت دو Syntax متفاوت LINQ TO SQL
بهتره بگم که EF کار برنامه نویس ها رو راحت میکنه و نه کار بانک رو پس خود به خود زحمت بیشتری به سرور وارد می کنه.
بستگی داره که SP شما برای نوشتن بود یا برای خواند ؟ برای خواندن و نوشتن چند رکورد بود !؟
مشکل برنامه نویسی بانک اینه که هر چقدر برنامه رو شی گرا طراحی کنید وقتی به بانک میرسید تبدیل میشود به یک مشت command به صورت تکست.
فرض کنید نام یکی از ستونها رو در دیتابیس عوض کنید . برنامه ی شما دچار یک فاجعه میشود !
مخصوصا اگر بزرگ باشد و در جاهای مختلفی از اون ستون استفاده کرده باشید.
حالا فرض کنید مشتری به شما بگوید کنار نام و نام خانوادگی باید فیلدی برای نام پدر هم بگذارید ، این خودش میشود یک حادثه و با سرعت 160 رفتن توی دیوار!
کاری که EF می کند تبدیل کردن DataBase به یک شی قابل لمس و در دسترس است. در حقیقت در پس زمینه کدهای عظیم ( حداقی 4 تا 5 هزار خط) ساخته میشود و اشیا شکل می گیرند و دیگر به راحتی می توانید از LINQ استفاده کنید و با استفاده از Intellisense در VS خیلی زیبا گزارش گیری کنید.
برای یک ارسال و یک دریافت و یا برای گزارش گیری بسیار مناسب است.
در ضمن تنظیمات SQL هم می تواند در سرعت تاثیر زیادی بگذارد
نقل قول: راهننمایی در رابطه با تفاوت دو Syntax متفاوت LINQ TO SQL