طریقه ی کارکرد LINQ و DataSet ؟
سلام.
DataSet میتونه جداول بانک رو تو خودش نگه داره و وقتی میخوایم select انجام بدیم، میتونیم Select رو توی DataSet اعمال کنیم.(یعنی نیازی به وصل شدن به لانک نیست)
LINQ کارش چه طوریه ؟ یعنی اگه ما Select توی LINQ بزنیم به بانک وصل میشه و اطلاعات رو میاره ؟یا اطلاعات رو مثل DataSet تو حافظه نگه میداره ؟
لطفا کامل توضیح بدین.
ممنون.
نقل قول: طریقه ی کارکرد LINQ و DataSet ؟
lazy load linq to sql در این باره تحقیق کنید
نقل قول: طریقه ی کارکرد LINQ و DataSet ؟
به DataSet اصطلاحاً Local In-memory Cache Of Data گفته میشه. یعنی داده ها رو به طور محلی در حافظه برنامه نگه می داره.
کوئری های LINQ روی دیتاست اگه زده بشه (LINQ-to-DataSet) در این صورت هیچ درخواستی به سرور ارسال نمیشه اما در مورد LINQ-To-SQL اینطور نیست و دستورات به SQL Server ارسال و نتایج برگشت داده میشه.
و در مورد LINQ تا زمانی که نتایج رو Enumerate نکنید یعنی در حلقه foreach استفاده نکنید یا از اون Count نگیرید یا ToList یا ToArray یا ... کلاً هر عملی که نیاز به تحویل داده خروجی نباشه رو انجام ندید اجرا نمیشه یعنی خاصیت اجرای تعویقی داره (Deffered Execution).
نقل قول: طریقه ی کارکرد LINQ و DataSet ؟
نقل قول:
نوشته شده توسط
tooraj_azizi_1035
و در مورد LINQ تا زمانی که نتایج رو Enumerate نکنید یعنی در حلقه foreach استفاده نکنید یا از اون Count نگیرید یا ToList یا ToArray یا ... کلاً هر عملی که نیاز به تحویل داده خروجی نباشه رو انجام ندید اجرا نمیشه یعنی خاصیت اجرای تعویقی داره (Deffered Execution).
این خط رو متوجه نشدم! لطفا بیشتر توضیح بدین؟
نقل قول: طریقه ی کارکرد LINQ و DataSet ؟
این کوئری رو ببین:
var query = from customer in db.Customers << Query does
where customer.City == "Paris" << not execute
select customer; << here
بلافاصله اجرا نمیشه زمانی که نتایج اون درخواست میشه اجرا میشه:
foreach (var Customer in query) << Query executes here
{
Console.WriteLine(Customer.CompanyName);
}
اما در این مورد بلافاصله اجرا میشه چون شما تعداد رو درخواست کردید:
var query = (from customer in db.Customers << Query executes here
where customer.City == "Paris"
select customer).Count();
توضیحات بیشتر آقای Charlie Calvert:
http://blogs.msdn.com/b/charlie/arch...execution.aspx