فراخوانی متد سید دیتا در .net6
ببخشید من سید دیتا پروژه رو در متد Configure فراخوانی میکردم،حالا که پروژه net6. اپدیت کردم،الان اگه بخوام دوباره سید دیتا رو همینجا اعمال کنم به چه نحوی باید انجام بشه؟
پاسخ ها

محمد اشرافی
دقیقا همینجا فراخوانیش کن و اگر به سرویس خاضی احتیاج دارید باید از Service Collection دریافت اش کنید
به این شکل :
async Task SeedData(IServiceProvider services){
using var scope = services.CreateScope();
var serviceProvider = scope.ServiceProvider;
var dapperContext = serviceProvider.GetRequiredService<DapperContext>();
...
}
و بعد این متد توی همون program.cs صدا بزنید و builder.services رو بهش بدین

محمد قلی زاده
استاد ببخشید ولی به عنوان unuses methodمیشناسه و سید دیتا رو درج نمیکنه

محمد اشرافی
خوب متد رو بعد از اینکه app رو ساختید صداش بزنید
var app = builder.Build();
await SeedData(app.Services);

محمد قلی زاده
استاد عکس تابع رو فرستادم،چجوری دوباره صداش بزنم؟
اینطوری نوشته نشده یک تابع استاتیک هستش که پارامتر هاش رو باید از یک تابع دیگه بگیره

محمد اشرافی
خوب ببینید من که بهتون گفتم توی متد SeedData که توی Program.cs میسازی ، یکی یکی سرویس هارو بگیر و بهش پاس بده :
var app = builder.Build();
await SeedData(app.Services);
async Task SeedData(IServiceProvider services){
using var scope = services.CreateScope();
var serviceProvider = scope.ServiceProvider;
var context= serviceProvider.GetRequiredService<DapperContext>();
var roleManager= serviceProvider.GetRequiredService<IApplicationRoleManager>();
var userManager= serviceProvider.GetRequiredService<IApplicationUserManager>();
await DummyData.Initialze(context,userManager,roleManager);
}
{
محبوب ترین مقالات



