ورود

View Full Version : سوال: سه جا فايل config دارم و نميدونم EF از كدوم فايل استفاده ميكنه



iranrose63
چهارشنبه 19 آبان 1389, 12:34 عصر
سلام دوستان
من تو يه برنامه wpf از EF براي ارتباط با DB استفاده كردم وقتي توي كدم يه نمونه از EF ايجاد شده را New ميكنم connectionstring را از فايل config مي خونه الان مي خوام connectionstring رو توي كد برنامه عوض كنم مشكلم اينه كه سه جا فايل config دارم و نميدونم EF از كدوم فايل استفاده ميكنه
1- bin\debug\mypro.vshost.exe.config
2- bin\debug\mypro.exe.config
3- app.config
من با تكه كد زير فايل اولي رو تغيير ميدم ولي تو EF تاثيري نداره در ضمن وقتي از برنامه خارج ميشم دوباره فايل به صورت اولش برميگرده


Configuration config=ConfigurationManaget.OpenExeConfiguration(C onfigurationUserLevel.Non);
ConnectionStringSection consec=config.ConnectionStrings;
ConnectionStringSettingsCollection cscol=consec.ConnectionStrings;

cscol["MyEFName"].ConnectionString=MyEntityConnectionString;
config.Save(ConfigurationSaveMode.Modidied);

فكر كنم EF از app.config استفاده ميكنه كه وقتي من مي خوام عوضش كنم پيغام ميده configuratio file is read only
اينم كدي كه من براي اين قسمت نوشتم


ConfigurationManager.ConnectionStrings["MyEFName"].ConnectionString=MyEntityConnection;

mahdi7s
پنج شنبه 20 آبان 1389, 14:33 عصر
سلام

به صورت پیشفرض تنظیمات مرتبط (همون رشته اتصال) با EntityDataModel ساخته شده در پیکربندی App.config ذخیره می شود که شما می توانید آن را تغییر دهید توجه داشته باشید که فقط رشته اتصال را تغییر دهید.
شما می توانید داخل کد هم رشته اتصالی که می خواهید را به EntityDataModel تان بدهید:

MyDataModelEntities m_EntityModel = new MyDataModelEntities("CONNECTION-STRING");

موفق باشید

iranrose63
شنبه 22 آبان 1389, 07:54 صبح
ممنون دوست عزيز در انتهاي سوالم نوشتم كه نمي دونم چه طور app.config رو عوض كنم


فكر كنم EF از app.config استفاده ميكنه كه وقتي من مي خوام عوضش كنم پيغام ميده configuratio file is read only
اينم كدي كه من براي اين قسمت نوشتم
کد:
ConfigurationManager.ConnectionStrings["MyEFName"].ConnectionString=MyEntityConnection


اگه ممكنه كد بنويسيد.

farashah_jalal
شنبه 22 آبان 1389, 09:01 صبح
1-می تونی پوشه binرو پاک کنی که موقعه runبرنامه دوباره ساخته میشه
2-می تونی کانکشن های اضافی رو پاک کنی و فقط یک کانکشن داشته باشی
برای اینکه databaseبا هر بار اجرا شدن تغییر کنه و اطلاعات قبلی رو نیاره میتونی رو databaseکلیک راست و گزینه copy always رو انتخاب کنی .

iranrose63
یک شنبه 23 آبان 1389, 09:22 صبح
من متوجه منظور شما نشدم يا شما متوجه منظور من نشديد من مي خوام از طريق كد نويسي فايل app.config كه EF ازش براي ارتباط با DB استفاده ميكنه را عوض كنم ولي نميتونم .