‫۷ سال و ۱ ماه قبل، شنبه ۲۸ مرداد ۱۳۹۶، ساعت ۰۰:۴۸
سلام
الان در این مثالی که زدن و شبه کد توی سایت، متدهای  async  چه اتفاق براشون افتاده؟  اگه امکانش هست مختصری توضیح بدید
‫۷ سال و ۱ ماه قبل، چهارشنبه ۲۵ مرداد ۱۳۹۶، ساعت ۱۸:۵۲
تغییرات مربوط به اضافه کردن تظیمات  Authentication  در پروژه dotnet core 2 نیز به مقاله اضافه شد.
‫۷ سال و ۱ ماه قبل، چهارشنبه ۲۵ مرداد ۱۳۹۶، ساعت ۱۸:۳۹
فکر می‌کنم بهتره باشه نظرتون رو در صفحه مقاله پست کنید تا خواننده‌ها از نکته‌ی شما استفاده کنند.
‫۷ سال و ۱ ماه قبل، چهارشنبه ۲۵ مرداد ۱۳۹۶، ساعت ۱۴:۰۴
با سلام و احترام
قسمت آخر مقاله یعنی قطعه کد
// Only used by EF Tooling
        public static IWebHost BuildWebHost(string[] args)
        {
            return WebHost.CreateDefaultBuilder()
                .ConfigureAppConfiguration((ctx, cfg) =>
                {
                    cfg.SetBasePath(Directory.GetCurrentDirectory())
                        .AddJsonFile("appsettings.json", true) // require the json file!
                        .AddEnvironmentVariables();
                })
                .ConfigureLogging((ctx, logging) => { }) // No logging
                .UseStartup()
                .UseSetting("DesignTime", "true")
                .Build();
        }
راه حل استانداردی نمیباشد و البته که با این حال نیاز به تکمیل شدن دارد به این شکل که باید در فایل startup.cs از تنظیم اضافه شده یعنی
UseSetting("DesignTime", "true")
جهت جلوگیری از Initial شدن دیتابیس در هنگام استفاده از Entity Framework Core Tooling به طور مثال عملیات Migration استفاده کرد
if (_config["DesignTime"] != "true")
{
  using (var scope = app.ApplicationServices.CreateScope())
  {
    var initializer = scope.ServiceProvider.GetRequiredService<YourSampleDataInitializer>();
    initializer.RunAsync().Wait();
  }
}
در ادامه روش توصیه شده توسط مایکروسافت پیاده سازی اینترفیس جدید IDesignTimeDbContextFactory میباشد که به واسطه آن EF موفق به یافتن Context برنامه در هنگام عملیات Migration میشود.قطعه کد زیر نمونه ای از این پیاده سازی است.
public class BloggingContextFactory : IDesignTimeDbContextFactory<BloggingContext>
    {
        public BloggingContext Create(string[] args)
        {
            var optionsBuilder = new DbContextOptionsBuilder<BloggingContext>();
            optionsBuilder.UseSqlite("Data Source=blog.db");

            return new BloggingContext(optionsBuilder.Options);
        }
    }
البته همه این موارد زمانی درست کار خواهد کرد که فایل Program.cs برنامه را نیز به شکل جدید آن یعنی
public static void Main(string[] args)
        {
            BuildWebHost(args).Run();
        }

        public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .Build();
تغییر دهیم.دلیل آن هم ... EF Core 2.0: design-time DbContext discovery
‫۷ سال و ۱ ماه قبل، پنجشنبه ۱۹ مرداد ۱۳۹۶، ساعت ۲۰:۰۷
اینها اصولی هستند که باید در هر پروژه ( پروژه متوسط و بزرگ) رعایت بشن ، نویسنده خیلی سعی کرده تولید  این نرم افزار (بام) رو حماسی و خرق عادت جلوه بده . اما در پایان هیچ صحبتی هم از مدت زمان و هزینه نهایی کل پروژه در اختیار قرار نداده