انتشار نسخه جدید Entity Framework Core 5.0 Preview 4
در این مقاله قابلیت جدید Fill factor و Precision در Preview 4 را بررسی میکنیم .
برای مشاهده Preview های قبلی میتوانید به لینک زیر مراجعه کنید .
انتشار نسخه جدید Entity Framework Core 5.0 Preview 3
انتشار نسخه جدید Entity Framework Core 5.0 Preview 2
پیش نیاز ها
پیش نمایش EF Core 5.0
نیاز به NET Standard 2.1.
دارد این به چه معنی است :
EF Core 5.0 در NET Core 3.1. اجرا می شود و نیازی به NET Core 5.0. نیست . و ممکن است در پیش نمایش های آینده و بسته به نحوه تکامل برنامه برای NET Core 5. تغییر کند .
EF Core 5.0 بر روی سیستم عامل های دیگری که از NET Standard 2.1. پشتیبانی می کنند اجرا می شود.
EF Core 5.0 بر روی پلتفرم های NET Standard 2.0. ، از جمله NET Framework. اجرا نمی شود.
نحوه دریافت EF Core 5.0 previews
dotnet add package Microsoft.EntityFrameworkCore.SqlServer --version 5.0.0-preview.4.20220.10
قابلیت Precision/Scale
در EF Core همه داده های اعشاری Decimal
به صورت پیش فرض به Decimal (18,2)
در SQL Server
تبدیل می شوند . حالا میتوانیم با استفاده از متد HasPrecision
مقدار دلخواه خود را به صورت زیر تغییر دهیم :
modelBuilder
.Entity<Blog>()
.Property(b => b.Numeric)
.HasPrecision(16, 4);
قابلیت Fill factor
SQL Server Index Fill Factor یک مقدار درصد است این گزینه در ویژگی های ایندکس (Index) برای مدیریت داده ها در data Pages
موجود است
این یک نقش اساسی در تنظیم عملکرد پرس و جو (Query Performance Tuning
) است .
مقدار پیش فرض 0 در ویژگی SQL Server Index
با هر ایندکس جدول (Index of Tables
) است این مانع از ذخیره سازی %100 در هر data Pages می شود و میتوانیم این مقدار را با استفاده از معیار عملکرد نسبت به ماهیت داده (performance benchmarking over nature of data
) و اندازه داده ها (Size of data
) تغییر دهیم در مقاله های بعدی در مورد کارآیی بیشترFill Factor در SQL Server صحبت خواهیم کرد .
امکان تنظیم کردن این مقدار قبلا وجود نداشته که با معرفی EF Core 5 Preview 4
این امکان با متد اضافه شده است برای این به منظور به صورت زیر استفاده میکنیم :
modelBuilder
.Entity<Customer>()
.HasIndex(e => e.Name)
.HasFillFactor(90);