دسته بندی ها
15:23 1401/02/05

ایجاد دیتابیس و جداول در Code First توسط چند Context

مشخصات سوال کننده :
کاربر : pedram_khan     امتیاز کاربر : 277     رتبه کاربر : 6
دسته بندی : Asp.net Mvc Sql Server Entity Framework

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3053
پاسخ دهنده : fateme 19:41 1401/02/05

نکته اول اینکه اگر شما بیش از یک Context در پروژه دارید باید در کلاس StartUp و در متد Configuration هم این Context ها رو تعریف کنید. بنابراین کلاس StartUp شما مشابه زیر باید باشه :

public void ConfigureServices(IServiceCollection services)
{
   services.AddDbContext<ApplicationDbContext>(options =>
      options.UseSqlServer(
         Configuration.GetConnectionString("DefaultConnection")));
         services.AddDatabaseDeveloperPageExceptionFilter();

   services.AddDbContext<MyContext>(options =>
   {
      options.UseSqlServer(
      Configuration.GetConnectionString("DefaultConnection"));
   });
...
}

همونطور که در دستورات بالا مشاهده می کنید 2 بار از سرویس AddDbContext استفاده شده.

نکته : دقت کنید در هر دو کانتکست از یک Connection String استفاده شده.

 

ایجاد Migration وقتی چند Context داریم

اگر در پروژه بیشتر از یک Context وجود دارد و بر اساس آن قصد دارید مایگریشن ایجاد کنید می تونید از دستور زیر استفاده کنید :

Add-Migration mig1 -C MyContext

طبق دستور بالا بعد از عبارت Add-Migration نام مایگریشن را قرار می دهیم(در این مثال mig1) سپس عبارت C- که مخفف Context  می باشد و در آخر هم اسم Context

 

به روز رسانی دیتابیس وقتی چند Context داریم

خب حالا برای به روز رسانی هم می تونیم از دستور زیر استفاده کنیم :

Update-Database -Context MyContext

 

به این پاسخ امتیاز بدهید    0
امتیاز: 1617 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود