نظرات مطالب
نحوه‌ی مشاهده‌ی خروجی SQL تولید شده توسط WCF RIA Services
سلام،
من یک زمانی از طرفداران نوشتن stored procedure بودم اما الان به دلایل ذیل نیستم:
- امنیت: تمام کوئری‌های تولیدی entity framework از نوع پارامتری هستند. این مورد یعنی عقیم سازی حملات تزریق اس کیوال . (بنابراین اگر کسی عنوان کند که با SP ما امنیت بیشتری داریم، باید عنوان کرد که اینجا هم به همین صورت است)
- سرعت: در نگارش‌های جدید اس کیوال سرور، با کوئری‌های پارامتری دقیقا مانند SP رفتار می‌شود. همان کش شدن execution plan و غیره. بنابراین اینجا هم از همان مزایای SP برخوردار هستیم و سرعت سیستم مطلوب است.
- مشکلات نگهداری SP :
شما می‌تونید ساختار جداول رو تغییر بدید بدون اینکه اس کیوال سرور به شما پیغام خطایی در مورد غیر معتبر شدن یک SP بدهد. شما می‌تونید حتی یک SP غیر معتبر را تا زمانیکه syntax مربوط به آن صحیح است تولید کنید. هر دو مورد در زمان اجرا، سبب از کار افتادن برنامه می‌شوند. اما با EF این مشکلات را ندارید. ساختار را که عوض کنید برنامه دیگر کامپایل نمی‌شود. این مورد در برنامه‌های بزرگ خیلی خیلی خوب است!
مورد دیگر: یک برنامه بزرگ با چند صد SP رو در نظر بگیرید. جدا نگهداری این‌ها پیدا کردن کدها در یک برنامه‌ی بزرگ عذاب است. طبقه بندی آن‌ها یک طرف، اعمال تغییرات از طرف دیگر.
- مورد دیگر که من دیدم در یک سری از سایت‌ها در مورد آن بحث می‌کنند این است که نباید business logic برنامه را داخل دیتابیس طراحی کرد. این مورد باید با کد نویسی داخل برنامه باشد. در اینجا هم باز EF یا موارد مشابه بهتر هستند.
- مورد دیگری که در SP ها مشکل ساز می‌شود به اشتراک گذاری آن در بین برنامه‌های مختلف است. هم خوب است. بالاخره کد نویسی کمتر می‌شود. هم بد است، از این لحاظ که شاید این SP نیاز به تغییر داشت و اینجا است که برنامه‌های دیگر مشکل پیدا می‌کنند.
نظرات مطالب
شروع به کار با EF Core 1.0 - قسمت 10 - استفاده از امکانات بومی بانک‌های اطلاعاتی
ارتقاء به EF Core 3.0
Query types که کمی بالاتر معرفی شد، در EF Core 3.0 منسوخ شده اعلام و با همان DbSet ادغام می‌شود (هدف آن کاهش سردرگمی بین DbQuery و DbSet است). در اینجا query type چیزی بجز یک entity بدون کلید نیست. بنابراین بجای تعریف ModelBuilder.Query، تنها از متد HasNoKey استفاده کنید؛ مانند ()ModelBuilder.Entity<>().HasNoKey. از این پس بجای DbQuery، از همان DbSet استفاده کنید. معادل DbContext.Query نیز DbContext.Set است.
اشتراک‌ها
کتاب رایگان Entity Framework Code First Succinctly

Introduction
Chapter 1 Setting Up
Chapter 2 Domain Model
Chapter 3 Database
Chapter 4 Getting Data from the Database
Chapter 5 Writing Data to the Database
Chapter 6 Spatial Data Types
Chapter 7 Handling Events
Chapter 8 Extending Entity Framework
Chapter 9 Exposing Data to the World
Chapter 10 Tracing and Profiling
Chapter 11 Performance Optimizations
Chapter 12 Common Pitfalls

کتاب رایگان Entity Framework Code First Succinctly
اشتراک‌ها
دوره مقدماتی ASP.NET Core از Microsoft Virtual Academy

Explore ASP.NET Core SDK and tooling, look at .NET Core CLI, and learn how to build an ASP.NET Core app with Razor Pages MVC. Plus, get the details on logging and diagnostics. Find lots of cross-platform goodness and get .NET ready, as you learn more about this framework for building modern cloud-based web apps. Build your first ASP.NET project, and gear up for the intermediate ASP.NET Core course. 

دوره مقدماتی ASP.NET Core از Microsoft Virtual Academy
اشتراک‌ها
برنامه‌های تیم دات نت برای سال 2015

.NET Core 5 is open source on GitHub
Microsoft will support .NET Core 5 on Windows, Linux and Mac.
Microsoft has contributed .NET Core 5 to the .NET Foundation
.NET Framework 4.6 reference source now uses the MIT license
Renewed collaboration with the Mono Project

برنامه‌های تیم دات نت برای سال 2015
نظرات مطالب
آشنایی با NHibernate - قسمت هفتم
بحث entity framework با NHibernate متفاوت است.
در NHibernate این متد BuildSessionFactory فوق کار بارگذاری متادیتا و نگاشت‌ها و غیره رو انجام میده؛ یعنی خودکار نیست و اگر قرار باشه به ازای هر کوئری یکبار فراخوانی شود اصلا نمی‌شود با برنامه کار کرد چون به شدت کند خواهد بود. به همین جهت کش کردن آن‌را با استفاده از الگوی singleton به صورت فوق تنها یکبار باید انجام داد. یکبار در طول عمر برنامه باید نگاشت‌ها صورت گیرد و پس از آن بارها و بارها از آن استفاده شود چون قرار نیست در طول عمر یک برنامه در حال اجرا تغییری کند.
در حالیکه در Entity framework اینکار (بارگذاری متادیتا و نگاشت‌های تعریف شده) به صورت خودکار زمانیکه برنامه برای بار اول اجرا می‌شود رخ داده و به صورت خودکار هم کش می‌شود. ماخذ: (+) ؛ بنابراین برای مدیریت آن اصلا لازم نیست شما کاری انجام دهید.
فقط در Entity framework یک لایه بسیار کم هزینه به نام ObjectContext وجود دارد که توصیه شده در برنامه‌های ASP.NET به ازای هر درخواست ایجاد و تخریب شود که می‌توانید از مقاله فوق ایده بگیرید و اصلا نباید کش شود یا هر بحث دیگری. ماخذ: (+) ؛ حتی اگر اینکار را هم انجام ندادید مهم نیست چون سربار بسیار کمی دارد.
اشتراک‌ها
EF نسخه 7 و یادگیری نکاتی از julie lerman

I always love talking to Julie! She first spends some time discussing some of the new things in Entity Framework 7 and when one should consider using (and more importantly not using) the new bits. She also gets into her experience working with Aurelia and node.js. Enjoy! 

EF نسخه 7 و یادگیری نکاتی از julie lerman
اشتراک‌ها
WPF و IOC در NET Core 3.0.

At work, we are planning to migrate our WPF application from .NET Framework 4.7 to .NET Core 3.0. The main reason for doing so is that it was always a big pain to organize the updates of the .NET Framework on our customer machines. So being able to bundle .NET Core with our application is a big plus for us. Then, for sure, we are looking for the performance improvements brought by .NET Core and finally the new capabilities brought by the fast pace of innovation of .NET Core. 

WPF و IOC در NET Core 3.0.
اشتراک‌ها
احراز هویت (Identity) در ASP.Net Core با استفاده از بانک اطلاعاتی MongoDB

برای انتقال جداول احراز هویت (Identity) از SQL Server به بانک اطلاعاتی MongoDB و نحوه استفاده از آن در ASP.Net Core از سورس نمونه در لینک بالا استفاده کنید.
همچنین می‌توانید از پکیج  AspNetCore.Identity.Mongo استفاده کنید.

This is a MongoDB provider for the ASP.NET Core 2 Identity framework 
 
احراز هویت (Identity) در  ASP.Net Core با استفاده از بانک اطلاعاتی MongoDB