تنظیم رشته اتصالی Entity Framework به بانک اطلاعاتی به وسیله کد
نویسنده: فلونی
تاریخ: ۱۳۹۳/۰۲/۲۶ ۱۴:۳۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
public partial class PersonallyEntities : DbContext
{
public PersonallyEntities()
: base("name=PersonallyEntities")
{
}
} "name=PersonallyEntities"
metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=Personally;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"
public static string BuildEntityConnection(string connectionString)
{
var entityConnection = new EntityConnectionStringBuilder
{
Provider = "System.Data.SqlClient",
ProviderConnectionString = connectionString,
Metadata = "res://*"
};
return entityConnection.ToString();
} public partial class PersonallyEntities : DbContext
{
public PersonallyEntities(string connectionString)
: base(connectionString)
{
}
} : base(connectionString)
var entityConnectionString = BuildeEntityConnection("Data Source=localhost;Initial Catalog=Personally; Integrated Security=True");
var PersonallyDb = new PersonallyEntities(entityConnectionString); «به چه صورت جایگزین کنم»
مثل مثال بالا که از فایل کانفیگ گذاشته شد، قسمت provider connection string رو پیدا کن و جایگزینش کن با رشته اتصالی که به شما دادند.
«ازین روشی که گفتین اگه بخوام استفاده کنم»
این روش کاری به سناریوی شما نداره. برای جایی هست که برنامه قراره مثلا برای هر سال به یک دیتابیس مجزا وصل بشه. اول کار، کاربر باید انتخاب کنه که مثلا به دیتابیس سال 89 وصل بشه یا دیتابیس سال 92.
ObjectFactory.Initialize(x =>
{
var ctx = new MyContext(GlobalVars.ConnectionString);
x.For<IUnitOfWork>().Use(() => ctx);
x.For<IFactorForushMasterService>().Use<FactorForushMasterService>();
});
using (var container = ObjectFactory.Container.GetNestedContainer())
{
var uow = container.GetInstance<IUnitOfWork>();
var factorService = container.GetInstance<IFactorForushMasterService>();
txtShFactor.Text = factorService.GetLastShFactor().ToString();
txtDateFactor.Text = ShamsiDate.ConvertMiladiToShamsi(GeneralHelper.GetServerDateTime());
} // `connectionString` is the constructor's parameter name
cfg.For<IUnitOfWork>().Use<MyContext>().Ctor<string>("connectionString").Is(someValueAtRunTime);;
// or ...
ObjectFactory.Container.With("connectionString").EqualTo(someValueAtRunTime).GetInstance<IUnitOfWork>();