PDA

نسخه کامل مشاهده نسخه کامل : وصل شدن به دیتابیس های مختلف در entity framwork



neda_traveler
28-12-2013, 12:59
با سلام
من برنامه حسابداری مینویسم و چندین  دیتابیس دارم
حالا زمانی که از ef استفاده میکنم بعد در    app.config خودش نام دیتابیس به صورت ثابت قرار میده
حالا چطور میتونم زمانی که کاربر دیتابیس عوض کرد اون نام دیتابیس جدید اینجا بشینه و اطلاعات اون نمایش بده

یعنی در config 
یعنی این قسمت بشه در داخل برنامه خودمون بدیم
Initial Catalog=jahd920921
و ثابت نباشه

ممنون

Xeoc
28-12-2013, 18:32
تغییر فایل config ممکنه یک سری مشکلات به همراه داشته باشه . مثلا اگر فایل برنامه، درون پوشه Program Files باشه در این صورت نیاز به سطح دسترسی ادمین و همچنین مجوز UAC هستش تا بشه فایل رو تغییر داد.

درهرصورت تا زمانی که مجوز برای تغییر فایل فراهم باشه به این صورت می تونید انجام بدید:


برای کد پایین System.Configuration را به رفرنس ها اضافه کنید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در حالت دیباگ و از طریق ویژوال استادیو کار نمی کنه . فقط زمانی که برنامه رو به صورت مستقیم اجرا بکنید کار میکنه.

به خاطر مشکلی که در روش بالا وجود داره، روش اصولی تر کنترل دیتابیس از طریق کدنویسی هستش ،یعنی با کدنویسی به EF بگیم که با چه دیتابیسی باید ارتباط بگیره به جای اینکه بره از appconfig اینکارو بکنه. در این صورت به راحتی میشه نام دیتا بیس رو داخل یک فایل یا مکانی در registry ذخیره کرد و تغییر داد.
اگه درمورد روش بالا توضیح بیشتری لازم دارید باید بدونم چه مدلی با EF کار می کنید(Code Fist یا Database First).