اشتراک‌ها
پروژه ای جهت پیاده سازی ایده های خلاقانه در ASP.NET Core

بررسی سورس کد این پرژه، ایده‌های بسیار جالبی به شما میدهد. پیشنهاد میکنم حتما کد هاشو بررسی کنید. نکات آموزشی زیادی داخل هست.

چند پروژه منتخب :

  1. Mvc.GenericControllers : ساخت کنترولر برای Entity‌ها بدون کدنویسی!
  2. Mvc.CustomRoutingConvention : مسیریابی بر اساس namespace کنترولر‌ها
  3. Localization.EntityFramework  : مدیریت منابع چند زبانگی توسط EntityFramework
پروژه ای جهت پیاده سازی ایده های خلاقانه در ASP.NET Core
نظرات مطالب
نحوه کار Expression و ایجاد یک DynamicFilter
سپاس از عنایت شما.
حقیقت روی پروژه ام من خیلی کار کردم و کد دیگران رو دیدم . میدونید این بحث یک فرصت مفصل میخواد که بتونی چیزی شبیه به نحوه کارکرد کد entityframework رو مطالعه کرد.
اگر بشه اون رو درک کرد میشه خیلی از مسائل ترجمه و موراد دیگه مربوط به اکسپرشن‌ها رو حل کرد.
متاسفانه درگیری روزمره این اجازه رو به بنده نداد.
انشاله در فرصتی دیگه سعی میکنم روش کار کنم
نظرات مطالب
سفارشی سازی ASP.NET Core Identity - قسمت اول - موجودیت‌های پایه و DbContext برنامه
با سلام؛ دو تا سوال نسبت به مقاله فوق برای من پیش اومده 
1) اول اینکه امکان جایگزین کردن Dapper به جای EntityFramework وجود داره یا خیر ؟
2) آیا استفاده از پایگاه داده‌های NoSQL مثل MongoDB به جای SqlServer برای سناریو فوق فکر خوبی است ؟ اگر بله آیا پیاده سازی آن مبتنی بر Identity ممکن است یا خیر ؟
البته یک سوال کلی هم دارم که ممکن به این بحث مربوط نشه، کلا برای مواردی مثل ثبت لاگ، ثبت جزییات خطاها، اطلاعات کاربران،  ورود و خروج‌ها بهتر نیست از NoSQL‌ها استفاده کنیم ؟
نظرات مطالب
نمایش خروجی SQL کدهای Entity framework 6 در کنسول دیباگ ویژوال استودیو
یک نکته‌ی تکمیلی
در 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>
پاسخ به بازخورد‌های پروژه‌ها
ارتباطات بین جداول
سلام؛ ممنون
اگر به این سطر دقت کرده باشید در کلاس UserConfig:
HasOptional(x => x.UserMetaData).WithRequired(x => x.User).WillCascadeOnDelete(false);
درست است رابطه از دید دیتابیس یک به چند است ولی در هنگام کار با EntityFramework رابطه یک یه یک است و ما از یک به چند بودن نمی‌توانیم استفاده کنیم. دلیلش هم ذکر HasOptional است و این امر در رابطه‌ی یک یه یک امکان پذیر نیست.
البته این نکته را متذکر شوم که طراحی دیتابیس این سیستم ممکن است ایراداتی نیز داشته باشد و کاملا بدون نقص نیست.
اشتراک‌ها
زمان پایان پشتیبانی از Internet Explorer 11 توسط مایکروسافت مشخص شد

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. 
زمان پایان پشتیبانی از Internet Explorer 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 

مقدمه ای بر Visual Studio Dev
نظرات مطالب
ارتقاء به ASP.NET Core 1.0 - قسمت 16 - کار با Sessions
ارتقاء به 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; 
    });
}
در نگارش 3 حذف و به صورت زیر تغییر کرده‌است:
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;
    });
}