بررسی سورس کد این پرژه، ایدههای بسیار جالبی به شما میدهد. پیشنهاد میکنم حتما کد هاشو بررسی کنید. نکات آموزشی زیادی داخل هست.
چند پروژه منتخب :
- Mvc.GenericControllers : ساخت کنترولر برای Entityها بدون کدنویسی!
- Mvc.CustomRoutingConvention : مسیریابی بر اساس namespace کنترولرها
- Localization.EntityFramework : مدیریت منابع چند زبانگی توسط EntityFramework
نظرات مطالب
نحوه کار Expression و ایجاد یک DynamicFilter
سپاس از عنایت شما.
حقیقت روی پروژه ام من خیلی کار کردم و کد دیگران رو دیدم . میدونید این بحث یک فرصت مفصل میخواد که بتونی چیزی شبیه به نحوه کارکرد کد entityframework رو مطالعه کرد.
اگر بشه اون رو درک کرد میشه خیلی از مسائل ترجمه و موراد دیگه مربوط به اکسپرشنها رو حل کرد.
متاسفانه درگیری روزمره این اجازه رو به بنده نداد.
انشاله در فرصتی دیگه سعی میکنم روش کار کنم
با سلام؛ دو تا سوال نسبت به مقاله فوق برای من پیش اومده
1) اول اینکه امکان جایگزین کردن Dapper به جای EntityFramework وجود داره یا خیر ؟
2) آیا استفاده از پایگاه دادههای NoSQL مثل MongoDB به جای SqlServer برای سناریو فوق فکر خوبی است ؟ اگر بله آیا پیاده سازی آن مبتنی بر Identity ممکن است یا خیر ؟
البته یک سوال کلی هم دارم که ممکن به این بحث مربوط نشه، کلا برای مواردی مثل ثبت لاگ، ثبت جزییات خطاها، اطلاعات کاربران، ورود و خروجها بهتر نیست از NoSQLها استفاده کنیم ؟
یک نکتهی تکمیلی
در EF 6.1 به بعد، کل روش ارائه شده در اینجا را میتوانید به نحو ذیل در فایل کانفیگ برنامههای وب یا ویندوزی، برای ذخیره در فایل، فعال کنید (بدون نیاز به کدنویسی اضافهتری):
در EF 6.1 به بعد، کل روش ارائه شده در اینجا را میتوانید به نحو ذیل در فایل کانفیگ برنامههای وب یا ویندوزی، برای ذخیره در فایل، فعال کنید (بدون نیاز به کدنویسی اضافهتری):
<interceptors> <interceptor type="System.Data.Entity.Infrastructure.Interception.DatabaseLogger, EntityFramework"> <parameters> <parameter value="C:\Temp\LogOutput.txt"/> <parameter value="true" type="System.Boolean"/> </parameters> </interceptor> </interceptors>
پاسخ به بازخوردهای پروژهها
ارتباطات بین جداول
سلام؛ ممنون
درست است رابطه از دید دیتابیس یک به چند است ولی در هنگام کار با EntityFramework رابطه یک یه یک است و ما از یک به چند بودن نمیتوانیم استفاده کنیم. دلیلش هم ذکر HasOptional است و این امر در رابطهی یک یه یک امکان پذیر نیست.
اگر به این سطر دقت کرده باشید در کلاس UserConfig:
HasOptional(x => x.UserMetaData).WithRequired(x => x.User).WillCascadeOnDelete(false);
البته این نکته را متذکر شوم که طراحی دیتابیس این سیستم ممکن است ایراداتی نیز داشته باشد و کاملا بدون نقص نیست.
Today, we’re announcing that Microsoft 365 apps and services will no longer support Internet Explorer 11 (IE 11) by this time next year.
- Beginning November 30, 2020, the Microsoft Teams web app will no longer support IE 11.
- Beginning August 17, 2021, the remaining Microsoft 365 apps and services will no longer support IE 11.
اشتراکها
مقدمه ای بر Visual Studio Dev
Visual Studio Dev Essentials is a new free developer offering from Microsoft. A free membership to this program gives you access to a range of benefits including developer tools and services, training and support. This video provides an overview of some key benefits, including Visual Studio Community, Visual Studio Team Services, Pluralsight training, and HackHands live programming help
ارتقاء به ASP.NET Core 3.0
API قدیمی تنظیمات کوکیهای سشن:
public void ConfigureServices(ServiceCollection services) { services.AddSession(options => { // Removed obsolete APIs options.CookieName = "SessionCookie"; options.CookieDomain = "contoso.com"; options.CookiePath = "/"; options.CookieHttpOnly = true; options.CookieSecure = CookieSecurePolicy.Always; }); }
public void ConfigureServices(ServiceCollection services) { services.AddSession(options => { // new API options.Cookie.Name = "SessionCookie"; options.Cookie.Domain = "contoso.com"; options.Cookie.Path = "/"; options.Cookie.HttpOnly = true; options.Cookie.SecurePolicy = CookieSecurePolicy.Always; }); }