50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

چگونه از دو دیتابیس بصورت همزمان در ASP.NET MVC استفاده کنیم؟

سلام خدمت تمامی اساتید و دوستان خوب ITpro، میرم سر اصل سوال، میخوام داخل پروژه MVC خودم همزمان از دو دیتابیس استفاده کنم، بتونم از اطلاعات مربوط به هر کدوم از دیتابیس ها استفاده کنم، منظورم از اینکه میگم میخوام همزمان استفاده کنم اینه که، فرض مثال اگ یکی از دیتابیسام مربوط به شهرا و استان ها هست، بتونم لیست کاربرایی که محل زندگیشون تو یکی از شهرا هست به خرجی ببرم.یعنی کاربرا دیتابیسشون کلا مجزا هست و شهر و محل سکونت هم ی دیتابیس مجزا، میخوام بتونم از دوتا دیتابیس همزمان استفاده کنم و یه کوئری بگیریم. ممنون.

پرسیده شده در 1395/07/12 توسط

2 پاسخ

0

سلام

در داخل Startup این کد ها رو نوشتم

Code
<span ">    services.AddDbContext(options =>
            {
                options.UseSqlServer(Configuration.GetConnectionString("SiteConnection"));
            });

            services.AddDbContext(options =>
            {
                options.UseSqlServer(Configuration.GetConnectionString("Site2Connection"));
            });

در داخل appsettings این کد ها رو

<span ">

Code
<span">{
  "ConnectionStrings": {
    "SiteConnection": "Data Source=.;Initial Catalog=Sitem_DB;Integrated Security=True;MultipleActiveResultSets=True;",
    "Site2Connection": "Data Source=.;Initial Catalog=Site2m_DB;Integrated Security=True;MultipleActiveResultSets=True;"

  },

  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*"
}

خطایی که بعد از  میده add-Migration


Code
More than one DbContext was found. Specify which one to use. Use the '-Context' parameter for PowerShell commands and the '--context' parameter for dotnet commands.
پاسخ در 1398/12/14 توسط
آواتار
0

سلام به شما Itpro ای عزیز.

این کار به راحتی امکان پذیر می باشد. اگر شما از entity framework استفاده می کنید می توانید همانطور که در فایل web.config کد مربوط به connection string خود را می نویسید به جای یک connection string دو عدد قرار داده که هرکدام از connection string ها به یکی از دیتابیس ها اشاره می کند. و برای این که در داخل entity framework استفاده کنید دو کلاس dbcontext مربوط به هرکدام بسازید. در این حالت می توانید با فراخوانی هرکدام از dbcontext ها به پایگاه داده آن دسترسی داشته باشید. حال اگر نخواهید از entity framework استفاده کنید می توانید به صورت دستی connection string ها را بسازید و یا از ابزار های موجود در ویژوال استودیو استفاده کنید و به هردو دیتابیس وصل شوید.

پاسخ در 1395/07/13 توسط

پاسخ شما