قابلیت های جدید Entity Framework Core FromSql
قابلیت های جدید Entity Framework Core
FromSql
در نسخه Core، قابلیت جدیدی تحت عنوان FromSql به Entity Framework افزوده شده است. در وهله اول ممکن است اینطور برداشت شود این قابلیت در واقع همان قابلیت SqlQuery سابق در نسخه های گذشته باشد که یک کوئری را به صورت متن دریافت می کرد و سطرها را برگشت میداد. اما، FromSql در واقع ویژگی به کلی مجزایی می باشد که فرصت های جدیدی را می تواند برای ما فراهم کند.
پیش از پرداخت به جزییات بیشتر باید بدانیم که در FromSql بر خلاف SqlQuery نمی توانیم هر نوع ساختار دلخواهی را برای سطر های برگشتی انتخاب کنیم، بلکه ساختار برگشتی باید عینا مشابه Entity تعریف شده در DbContext باشد. در واقع این متد صرفا از طریق DbSet دسترس می باشد.
var custs = db.Customers
.FromSql("Select * from Customers")
.ToList();
این محدودیت، موجب می شود که بتوانیم از FromSql همراه متدهای دیگر Linq نظیر Where و Include استفاده کنیم. حتی می توانیم توابع متنوع و پرقدرت SQL Server را که از طریق EF در دسترسی نمی باشند صدا بزنیم و همچنان ازمزایای Linq استفاده کنیم.
برای شرح دقیق تر این قابلیت و درهای جدیدی که باز می کند، می تواند به مقاله کوتاه زیر از سایت VisualStudio Magazine مراجعه کنید:
https://visualstudiomagazine.com/articles/2018/04/01/leveraging-raw-sql.aspx