یک پروژه با Asp.net Core 5 دارم کار میکنم. در پروژه برای ایجاد دیتابیس از مدل Code First استفاده می کنم. بنا به دلایلی بیش از یک Context دارم در این پروژه. چجوری میتونم دیتابیس خودم رو توسط این Context ها ایجاد و یا تغییر بدم ؟
Context اول از نوع Identity:
public class ApplicationDbContext : IdentityDbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
}
Context دوم از نوع DbContext:
public class MyContext : DbContext
{
public MyContext(DbContextOptions<MyContext> options) : base(options)
{
}
public DbSet<Product> Products { get; set; }
public DbSet<Order> Orders { get; set; }
public DbSet<OrderDetail> OrderDetails { get; set; }
}
نکته اول اینکه اگر شما بیش از یک 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 استفاده شده.
اگر در پروژه بیشتر از یک Context وجود دارد و بر اساس آن قصد دارید مایگریشن ایجاد کنید می تونید از دستور زیر استفاده کنید :
Add-Migration mig1 -C MyContext
طبق دستور بالا بعد از عبارت Add-Migration نام مایگریشن را قرار می دهیم(در این مثال mig1) سپس عبارت C- که مخفف Context می باشد و در آخر هم اسم Context
خب حالا برای به روز رسانی هم می تونیم از دستور زیر استفاده کنیم :
Update-Database -Context MyContext
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
97
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1347
- پاسخ :
1
|
تاریخ :
1403/06/06
- ساعت :
11:53:00 AM
- بازدید :
396
- پاسخ :
0
|
تاریخ :
1398/09/14
- ساعت :
01:58:00 PM
- بازدید :
4263
- پاسخ :
1
|
تاریخ :
1398/09/21
- ساعت :
09:53:00 AM
- بازدید :
5943
- پاسخ :
7
|
تاریخ :
1403/05/15
- ساعت :
05:37:00 PM
- بازدید :
334
- پاسخ :
1
|
تاریخ :
1398/08/16
- ساعت :
01:22:00 PM
- بازدید :
3134
- پاسخ :
1
|
تاریخ :
1400/08/02
- ساعت :
02:35:00 PM
- بازدید :
2563
- پاسخ :
1
|
تاریخ :
1403/02/25
- ساعت :
04:38:00 PM
- بازدید :
614
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
57
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
97
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1347
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1157
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
595
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|