مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

hamzehsh

عضویت از 1396/01/12

استفاده از چند کانکشن استرینگ

  • پنجشنبه 20 دی 1397
  • 19:42
تشکر میکنم

سلام

من یک برنامه با asp.net core شروع کردم تازه کار هستم میخوام اطلاعات رو از سه تا دیتابیس بخونه

بر اساس جستجوهام این موارد رو به پروژه اضافه کردم

appsetting.json

 
{
"ConnectionStrings": {
"PortalConnectionString": "Data Source=.;Initial Catalog=Portal; user Id=sa; Password=12345",
"bkConnectionString": "Data Source=.;Initial Catalog=bk; user Id=sa; Password=1234",
},

startup

 
services.AddDbContext<ApplicationDbContext>(option =>
option.UseSqlServer(Configuration.GetConnectionString("PortalConnectionString")))
.AddDbContext<ApplicationDbContext>(optionHis =>
optionHis.UseSqlServer(Configuration.GetConnectionString("bkConnectionString")));
 
کلاس ApplicationDbContext
public class ApplicationDbContext : IdentityDbContext<ApplicationUsers,ApplicationRoles,string>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> option) : base(option)
{
}

کانکشن اولی همه کار قراره باهاش بکنم ef هست و با الگوی unitofwork نوشته شده

کانکشن دومی فقط میخوام ازش بخونم DBFIRST هست و کوئری هاش رو هم ساختم

ولی نمیدونم برای ادامه کار باید چه کار کنم

1- آیا باید یک ApplicationDbContext  دیگه برای دیتابیس دوم تعریف کنم؟

الان برنامه داره با کانکشن اولی کار میکنه ولی نمیدونم چطوری با دومی کاری نداره فقط موقعی که خواستم update-database بزنم این خطا رو بهم نشون داد که بیشتر از یک کانکشن دارم ولی بقیه جاها داره درج و حذف رو انجام میده

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.

2- اومدم یک کلاس دیگه تعریف کردم   public class bkContext : DbContext

و میخواستم با sqldatareader داده ها رو بخونم ولی نمیدونم روش درستیه یا نه 

پاسخ های این پرسش

تعداد پاسخ ها : 2 پاسخ
کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • شنبه 22 دی 1397
  • 08:49

دوتا Context متفاوت تعریف کنید و هر کدام را جداگانه اضافه کنید. چرا میخواهید از SqlDataReader استفاده کنید. بهتر است جزئیات بیشتری ارئه بدید و علت داشتن دو بانک هم مطرح کنید.

کاربر سایت

hamzehsh

عضویت از 1396/01/12

  • شنبه 22 دی 1397
  • 11:58
یک نرم افزار قدیمی هست که در حال کاره ولی گزارش‌های مفید نداره و برای پایان نامه ازم خواسته شده براش گزارش بسازم همه چیزهای جدید باید توی دیتابیس جدید ذخیره بشه که ربطی به نرم افزار قبلی نداره و چون متفاوت هستند دیتابیسش جداست بعداً قرار شد گزارشها به این سیستم اضافه بشه
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)