دسته بندی ها
08:08 1399/11/27

ایجاد دو دیتابیس همزمان به صورت Code First و Db First در Asp.net Core

مشخصات سوال کننده :
کاربر : abbas     امتیاز کاربر : ‎−1     رتبه کاربر : 7097
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2723
هوش مصنوعی

پاسخ هوش مصنوعی

برای ایجاد دو دیتابیس به صورت همزمان با استفاده از روش های Code First و Database First در ASP.NET Core، شما باید اطمینان حاصل کنید که برای هر دیتابیس یک DbContext مجزا تعریف کنید. در اینجا می توانید مراحل لازم را مشاهده کنید:

ابتدا شما باید دو کلاس DbContext برای هر دیتابیس تعریف کنید:


public class NewsDbContext : DbContext
{
    public NewsDbContext(DbContextOptions options) : base(options) { }

    // تعریف DbSet برای موجودیت های دیتابیس Code First
    public DbSet YourEntities { get; set; }
}

public class SepantaFaxDbContext : DbContext
{
    public SepantaFaxDbContext(DbContextOptions options) : base(options) { }

    // تعریف DbSet برای موجودیت های دیتابیس Database First
    public DbSet ExistingEntities { get; set; }
}

سپس در کلاس Startup باید این دو DbContext را پیکربندی کنید:


public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext(options =>
        options.UseSqlServer(Configuration.GetConnectionString("MyConnectionString")));

    services.AddDbContext(options =>
        options.UseSqlServer(Configuration.GetConnectionString("MyConnectionString2")));

    services.AddIdentity()
        .AddEntityFrameworkStores() // استفاده از SepantaFaxDbContext
        .AddDefaultTokenProviders();
}

در نهایت، برای اینکه یمنو یوزر و پسورد کاربران از دیتابیس دوم گرفته شود، شما باید SepantaFaxDbContext را برای احراز هویت پیکربندی کنید.

در اینجا نمونه کد مربوط به appsettings.json برای شما آورده شده است:


{
  "ConnectionStrings": {
    "MyConnectionString": "Data Source=.;Initial Catalog=news90DB; User Id=sa; Password=123456",
    "MyConnectionString2": "Data Source=.;Initial Catalog=SepantaFax; User Id=sa; Password=123456"
  }
}

به این ترتیب، شما می توانید به صورت همزمان با دو دیتابیس کار کنید و از هر دو آن ها در پروژه تان استفاده کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 11:13 1399/11/27

در مورد ایجاد دو دیتابیس به صورت همزمان قبلا یک سوال مطرح شده و پاسخ هم داده شده

ایجاد دو دیتابیس به صورت همزمان در داخل پروژه به روش Code First

 

داشتن دو دیتابیس در پروژه به صورت همزمان یعنی باید همزمان 2 کانکشن استرینگ داشته باشید و مساله مهم اینه که چجوری بین این دو کانکشن استرینگ جابجا بشید. (یعنی اینکه شما اطلاعات رو از هر دیتابیس که بخواید بخونید باید کانکشن استرینگ مخصوص اون دیتابیس فعال باشه)

ببینید در کل داشتن بیش از یک دیتابیس کار منطقی نیست و روش اصولی خاصی هم براش وجود نداره.

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