نظرات مطالب
امکان انجام محاسبات سمت کلاینت در EF Core
ارتقاء به EF Core 3.0
تا پیش از EF Core 3.0، استفاده از قابلیت Client-Side Evaluation در هر قسمتی از کوئری میسر است که سبب شده استفاده‌های نادرستی از آن صورت گیرد و کارآیی کوئر‌ی‌ها بی‌جهت کاهش یابد. از نگارش 3 به بعد، این نوع محاسبات فقط در قسمت Select نهایی مجاز است و نه هیچ قسمت دیگری از کوئری؛ در غیراینصورت یک استثناء را دریافت خواهید کرد. برای نمونه در مثالی که در اینجا ارائه شده، از متد ComputeHash در قسمت Where کوئری استفاده شده‌است که اکنون در EF Core 3.0 دیگر مجاز نیست. اگر نیاز است چنین کاری را انجام دهید، خودتان یک ToList را بر روی کوئری، فراخوانی کنید و سپس بر روی نتیجه‌ی LINQ to Objects حاصل، یک Where را بنویسید.
اشتراک‌ها
رهانش EF Core 8 Preview 4: Primitive collections and improved Contains

The fourth preview of Entity Framework Core (EF Core) 8 is available on NuGet today!


Basic information

EF Core 8, or just EF8, is the successor to EF Core 7, and is scheduled for release in November 2023, at the same time as .NET 8.


EF8 previews currently target .NET 6, and can therefore be used with either .NET 6 (LTS) or .NET 7. This will likely be updated to .NET 8 as we near release.


EF8 will align with .NET 8 as a long-term support (LTS) release. See the .NET support policy for more information. 

رهانش  EF Core 8 Preview 4: Primitive collections and improved Contains
نظرات مطالب
اعتبارسنجی مبتنی بر JWT در ASP.NET Core 2.0 بدون استفاده از سیستم Identity
استفاده از آنتی فورجری توکن در برنامه‌های کلاینت جاوا اسکریپتی؛ مانند «افزودن و اعتبارسنجی خودکار Anti-Forgery Tokens در برنامه‌های Angular مبتنی بر ASP.NET Core»
نظرات مطالب
شروع به کار با EF Core 1.0 - قسمت 7 - بررسی رابطه‌ی One-to-Many
«بهبود عملکرد» با «بهبود کارآیی» یکی نیست. پیاده سازی سیستم change tracking در حالت کلی، بدون پیاده سازی مباحث AOP غیرممکن است. بهتر است دوره‌ی مرتبطی را در سایت در این مورد مرور کنید تا کلیات بحث تشکیل Proxyها بهتر مشخص شوند (و ... تشکیل پروکسی با روش‌های مختلفی و با الگوریتم‌های متفاوتی ممکن است و مهم نیست که dynamic proxy چندسکویی باشد یا خیر؛ این مورد نام یک الگوی طراحی شیء گرا است و نه یک کتابخانه‌ی خاص). هدف من از عنوان این مسایل، اشاره به کلیات زیرساخت پیاده سازی این مباحث هست.
برای نمونه زمانیکه مقدار خاصیت شیء واکشی شده‌ای از Context را تغییر می‌دهید و سپس SaveChanges را فراخوانی می‌کنید، در این بین یک پروکسی وجود دارد (یک لایه‌ی نامرئی و حائل بین شیء اصلی و تغییراتی که قرار است به آن اعمال شوند) که به تغییرات گوش فرا می‌دهد و در نهایت صرفا یک کوئری به روز رسانی آن فیلد خاص را تولید می‌کند و نه تمام فیلدهای دیگر را. این نوع مفاهیم کلی در اینجا مدنظر هستند. یک نمونه پیاده سازی کلی این مفهوم را در اینجا می‌توانید مشاهده کنید.
همچنین EF Core 2.1 به همراه بسته‌ی Microsoft.EntityFrameworkCore.Proxies است که پیاده سازی Lazy loading را میسر کرده‌است و از Castel.Core هم استفاده می‌کند (یا همان Castle DynamicProxy که در دوره «Aspect oriented programming» مورد بررسی قرار گرفته‌است).
نظرات مطالب
Implementing second level caching in EF code first
خیر. context باید به ازای هر request ایجاد و تخریب شود. در این مورد در قسمت 12 سری Ef Code first سایت جاری توضیح دادم (پیاده سازی الگوی Context Per Request در برنامه‌های مبتنی بر EF Code first ).
اشتراک‌ها
کدام پروایدر MySQL با EF Core 3x سازگار است؟

There are two MySQL providers for Entity Framework Core:
- The official one from MySQL: MySql.Data.EntityFrameworkCore. As of now, the latest version is 8.0.19, and works with Entity Framework Core 2.1 (and probably also 2.2). Since EF Core 3.0 is a major version with breaking changes, you cannot use it with this provider.
- The Pomelo provider: Pomelo.EntityFrameworkCore.MySql. There is a 3.1 version of this provider.
In other words, if you want to use EF Core 3.0/3.1 with MySQL, at this point you need to use the Pomelo provider (or wait for the official MySQL one to get released).

کدام پروایدر MySQL با EF Core 3x سازگار است؟