در حال کار بر روی یک پروژه با استفاده از Asp.net core هستم. ساختار پروژه رو بر اساس معماری سه لایه پیاده سازی کردم. یعنی سه لایه زیر رو دارم :
دستورات مربوط به دیتابیس و کلاسهای مربوطه و همه Repository ها و ... رو میخوام ببرم توی لایه DataModelLayer. همچنین قصد دارم Migration ها هم در این لایه ایجاد بشن.
حالا مشکل من اینجاست که وقتی میخوام یک مایگریشن ایجاد کنم و یا با استفاده از دستور update-database دیتابیس رو آپدیت کنم با خطا روبرو میشم. در حالی که وقتی در پروژه های یک لایه این کار رو انجام می دادم هیچ مشکلی وجود نداشت.
Add-Migartion mig1
/////
update-database
خطایی که با اون مواجه میشم خطای زیر هست
نحوه استفاده از دستورات Migration در پروژه چند لایه چجوری هست ؟
با سلام
برای این کار 2 راه حل وجود داره
راه حل اول:
همانطوری که خودتون هم گفتید شما قصد دارید که Migration های شما در لایه DataModelLayer ایجاد بشه. بنابراین وقتی که میخواید Migration رو ایجاد کنید در پنجره Package Manager Console باید در قسمت Default Project لایه مورد نظر رو انتخاب کنید که در اینجا همون لایه DataModelLayer شما هست.
در حال حاضر با توجه به تصویری که شما ارسال کردید شما لایه Laboratory رو انتخاب کردید.
راه حل دوم :
همچنین می تونید برای استفاده از دستورات Migration در پروژه چند لایه و برای ایجاد Migartion در لایه دلخواه از دستور زیر استفاده کنید :
Add-Migration mig-name -Project DataModelLayer
با استفاده از دستور بالا در واقع مشخص کردید که شما می خواید Migration رو در لایه DataModelLayer ایجاد کنید.
نکته مهم :
دقت کنید که در فایل startup.cs باید مشخص کنید که دیتابیس شما در کدام لایه باید ایجاد بشه.
services.AddDbContext<ApplicationDbContext>(option =>
option.UseSqlServer(Configuration.GetConnectionString("myConnectionString"),
m => m.MigrationsAssembly("ProjectName.DataModelLayer")));
در کد بالا مشخص شده که دیتابیس باید در لایه DataModelLayer ایجاد بشه.
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
78
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
109
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
430
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4800
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
215
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
117
- پاسخ :
0
|
تاریخ :
1403/05/16
- ساعت :
09:57:00 AM
- بازدید :
397
- پاسخ :
2
|
تاریخ :
1403/06/25
- ساعت :
11:39:00 PM
- بازدید :
568
- پاسخ :
1
|
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2013
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
78
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
109
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
430
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
931
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4800
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1161
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
598
- پاسخ :
1
|