در اجرای کوئری باتاخیر عبارات نوشته شده با LINQ، وقتی شما داخل کد برنامه ای که نوشتید از کوئری LINQ استفاده کردید، هنگام اجرا، وقتی برنامه به کوئری LINQ میرسد، در اصل کوئری اجرا نمیشود، بلکه هنگامی کوئری اجرا میشود که از نتایج کوئری استفاده شود. به همین دلیل به اجرای کوئریهای LINQ در زبان انگلیسی Deferred-Query-Execution یا اجرای کوئری با تاخیر نیز میگویند. البته میتوان کوئریها را در همان خطی که کوئری نوشته شده است اجرا کرد. این کار به استفاده از متدهای ToList، ToArray، ToDictionary و ToLookup امکان پذیر است. این متدها نتیجه کوئری را به یکی از مجموعههای List، Array، Dictionary و یا LookUp تبدیل میکنند.
اشتراکها
LINQ to LDAP 3.0
نظرات مطالب
نحوه کار Expression و ایجاد یک DynamicFilter
این لینک هم میتونه مفید باشه
بجای dynamic linq پیوست شده، از این کتابخانه استفاده کنید: «System.Linq.Dynamic». همان نسخهی بهبود یافتهی کتابخانهی اصلی مایکروسافت است.
یک نکتهی تکمیلی
نسخهی جدید و زندهی dynamic LINQ در اینجا نگهداری میشود.
نسخهی جدید و زندهی dynamic LINQ در اینجا نگهداری میشود.
PM> Install-Package System.Linq.Dynamic.Library
نظرات مطالب
EF Code First #10
کدهایی که تو linq هم استفاده میشن از همین دسته اند؟
مثلا
مثلا
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ID", AutoSync=AutoSync.Always, DbType="Int NOT NULL IDENTITY", IsDbGenerated=true)]
بله. طراحی ADO.NET مربوط به دات نت یک است و از هیچکدام از پیشرفتهای اخیر بدیهی است که استفاده نمیکند. به همین جهت است که در این کتابخانه ترکیبی از LINQ و قابلیتهای dynamic زبان سی شارپ 4 را مشاهده میکنید.
نظرات مطالب
آشنایی با NHibernate - قسمت پنجم
به NHibernateContext در NH 3.0 نیازی نیست. آنرا از مثالها حذف کنید. فقط بجای Linq شما Query خواهید داشت (یک تغییر نام مختصر به همراه ساده سازی نحوه استفاده).
پاسخ به بازخوردهای پروژهها
کار متد GetHashCode چیست؟
برای عملکرد صحیح متد Distinct موجود در LINQ لازم است. یک روش پیاده سازی IEqualityComparer است به صورت مجزا و یا داخل همان کلاس هم میشود متدهای Equals و GetHashCode را قرار داد.