نحوه اتچ کردن DB در سیستم کاربر به صورت اتوماتیک، در Entity Frame Work به روش Data Base first
با سلام من یه پروژه دارم که با تکنولوژی WPF و Entity FrameWork نوشته شده روش ایجاد مدلم هم data base first هست مشکلم اینه که نمی دونم موقع نصب نرم افزار روی سیستم کاربر چه جوری باید به دیتا بیسم کانکت بشم باید البته در مورد Migration شنیدم ولی نمی دونم چه جوری باید استفاده کنم.
اگر راهنماییم کنید ممنون میشم.
نقل قول: نحوه اتچ کردن DB در سیستم کاربر به صورت اتوماتیک، در Entity Frame Work به روش Data Base fi
اگر دیتابیس ات اس کیو ال است. تنها کافیه که conection string را در فایل کانفیگی که همنام فایل exe ات است در کامپیوتر مقصد تغییر بدی.
نقل قول: نحوه اتچ کردن DB در سیستم کاربر به صورت اتوماتیک، در Entity Frame Work به روش Data Base fi
خب مشکل همینجاست. ممکنه بگید چه تغییری باید بدم؟؟
نقل قول: نحوه اتچ کردن DB در سیستم کاربر به صورت اتوماتیک، در Entity Frame Work به روش Data Base fi
سلام.
روی پروژه راست کلیک کنید و گزینه Properties رو انتخاب کنید. بعد در قسمت Settings -اگه اشتباه نکنم- یه متغیر برای ConnectionString تعریف کنید و مقدار بدهید.
با این کار فایلی که دوستان گفتند، ایجاد می شه و چون متنی است، از بیرون پروژه قابل تغییر است.
این هم یک نمونه کد که چه طور به این متغیر تعریف شده دست رسی داشته باشی
Dabir.Properties.Settings setting = new Dabir.Properties.Settings();
_connStr = setting.ConnStr;
در این مثال، Dabir نام پروژه است و ConnStr همان متغیری است که در محل مربوطه تعریف شده و در خط دوم به متغیر محلی connStr_ نسبت داده شده است.
موفق باشی
نقل قول: نحوه اتچ کردن DB در سیستم کاربر به صورت اتوماتیک، در Entity Frame Work به روش Data Base fi
نقل قول:
سلام.
روی پروژه راست کلیک کنید و گزینه Properties رو انتخاب کنید. بعد در قسمت Settings -اگه اشتباه نکنم- یه متغیر برای ConnectionString تعریف کنید و مقدار بدهید.
با این کار فایلی که دوستان گفتند، ایجاد می شه و چون متنی است، از بیرون پروژه قابل تغییر است.
این هم یک نمونه کد که چه طور به این متغیر تعریف شده دست رسی داشته باشی
1
2
3
Dabir.Properties.Settings setting = new Dabir.Properties.Settings();
_connStr = setting.ConnStr;
در این مثال، Dabir نام پروژه است و ConnStr همان متغیری است که در محل مربوطه تعریف شده و در خط دوم به متغیر محلی connStr_ نسبت داده شده است.
موفق باشی
ممنون از توضیحاتتون دوست عزیز.
ولی منظورم متن connection string ساخته شده با مدل بود که چه تغییری بدم که دیتا بیس اتوماتیک اتچ بشه خواهش میکنم اگه کسی می دونه کمک کنه.
متن connection string من اینه:
<connectionStrings><add name="XEntities" connectionString="metadata=res://*/Model.XEntities.csdl|res://*/Model.XEntities.ssdl|res://*/Model.XEntities.msl;provider=System.Data.SqlClient ;provider connection string="data source=SOMAYY\XSQLEXPRESS;initial catalog=X;integrated security=True;MultipleActiveResultSets=True;App=En tityFramework"" providerName="System.Data.EntityClient" /></connectionStrings>
نقل قول: نحوه اتچ کردن DB در سیستم کاربر به صورت اتوماتیک، در Entity Frame Work به روش Data Base fi
چون از نسخه express استفاده میکنید میتونید از AttachDbFilename استفاده کنید تا خودکار عمل اتچ و دیتچ انجام بشه.
اگر فایل دیتابیس کنار فایل اجرایی هست از کانکشن زیر استفاده کنید. به جای Database1.mdf نام دیتابیس خودتون رو بزارید. در App.config جایگذین کنید.
<connectionStrings>
<add name="XEntities" connectionString="metadata=res://*/Model.XEntities.csdl|res://*/Model.XEntities.ssdl|res://*/Model.XEntities.msl;provider=System.Data.SqlClient ;provider connection string="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database1.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient"/>
</connectionStrings>
1 ضمیمه
نقل قول: نحوه اتچ کردن DB در سیستم کاربر به صورت اتوماتیک، در Entity Frame Work به روش Data Base fi
از این روش که استفاده می کنم هر جای برنامه که نیاز به ارتباط با دیتابیس داره با خطای زیر مواجه میشه.
ضمیمه 108669
نقل قول: نحوه اتچ کردن DB در سیستم کاربر به صورت اتوماتیک، در Entity Frame Work به روش Data Base fi
دوست عزیز من هم همین مشکل رو دارم connectionstring به صورت زیر می باشد که آن را به صورت زیر تغییر دادم ولی برنامه اجرا نمی شود و خطا می دهد مشکل کجاست
<add name="dbAntiVirusEntities" connectionString="metadata=res://*/Antivirus.csdl|res://*/Antivirus.ssdl|res://*/Antivirus.msl;provider=System.Data.SqlClient;provi der connection string="Data Source=.;Initial Catalog=dbAntiVirus;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
<add name="dbAntiVirusEntities" connectionString="metadata=res://*/Antivirus.csdl|res://*/Antivirus.ssdl|res://*/Antivirus.msl;provider=System.Data.SqlClient ;provider connection string="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\dbAntiVirus.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient"/>
نقل قول: نحوه اتچ کردن DB در سیستم کاربر به صورت اتوماتیک، در Entity Frame Work به روش Data Base fi
دوستان من می خوام با install Shield برنامه setup برنامم را درست کنم ولی نحوه افزودن دیتابیس به install Shield رو نمی دونم برنامم با wpf و entity Framework نوشتم
یا اگر از روشی به جز install shield می دونید که با نصب برنامه دیتابیس در سیتم دیگر atach شود راهنمایی کنید
نقل قول: نحوه اتچ کردن DB در سیستم کاربر به صورت اتوماتیک، در Entity Frame Work به روش Data Base fi
نقل قول:
نوشته شده توسط
SokooteShab1
از این روش که استفاده می کنم هر جای برنامه که نیاز به ارتباط با دیتابیس داره با خطای زیر مواجه میشه.
ضمیمه 108669
روی سیستم خودت به جای sqlexpress نام نمونه XSQLEXPRESS رو قرار بده ولی روی سیستم مشتری همون sqlexpress.
نقل قول: نحوه اتچ کردن DB در سیستم کاربر به صورت اتوماتیک، در Entity Frame Work به روش Data Base fi
نقل قول:
نوشته شده توسط
mymina
دوست عزیز من هم همین مشکل رو دارم connectionstring به صورت زیر می باشد که آن را به صورت زیر تغییر دادم ولی برنامه اجرا نمی شود و خطا می دهد مشکل کجاست
<add name="dbAntiVirusEntities" connectionString="metadata=res://*/Antivirus.csdl|res://*/Antivirus.ssdl|res://*/Antivirus.msl;provider=System.Data.SqlClient;provi der connection string="Data Source=.;Initial Catalog=dbAntiVirus;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
<add name="dbAntiVirusEntities" connectionString="metadata=res://*/Antivirus.csdl|res://*/Antivirus.ssdl|res://*/Antivirus.msl;provider=System.Data.SqlClient ;provider connection string="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\dbAntiVirus.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient"/>
این کانکشن برای نسخه express هست. اگر از این روش میخواهید استفاده کنید دیتابیس رو در نسخه express بساز. البته بعد از تغییر کانکشن میتونید از طریق خود مدل دیتابیس رو بسازید.
نقل قول: نحوه اتچ کردن DB در سیستم کاربر به صورت اتوماتیک، در Entity Frame Work به روش Data Base fi
نقل قول:
روی سیستم خودت به جای sqlexpress نام نمونه XSQLEXPRESS رو قرار بده ولی روی سیستم مشتری همون sqlexpress.
ممنون از راهنماییتون من هم همین کار رو می کردم ولی روی سیستم خودم هم جواب نمی ده و همون اررور رو میداد.
نقل قول: نحوه اتچ کردن DB در سیستم کاربر به صورت اتوماتیک، در Entity Frame Work به روش Data Base fi
منم دقیقا همین مشکل رو با اتچ کردن دیتابیسم داشتم و آخر سر هم نتونستم با این روش درستش کنم و مجبور شدم از یک سری کد دیگه استفاده کنم . که تو این روش جدید هم ، بعد از یک بار اجرای برنامه ، اول برنامه میگه که دیتابیس قبلا وجود داره . البته باید با دیتچ کردن در موقع خروج از برنامه این مشکل حل شه
از این لینک میتونید کد رو ببینید :
http://www.irancsharp.net/Post-58.aspx
البته من هنوز به دنبال اینم که با استفاده از همون روش اول چجوری خطایی که دوستمون گذاشتن رو میشه برطرف کرد ؟
1 ضمیمه
نقل قول: نحوه اتچ کردن DB در سیستم کاربر به صورت اتوماتیک، در Entity Frame Work به روش Data Base fi
نقل قول:
منم دقیقا همین مشکل رو با اتچ کردن دیتابیسم داشتم و آخر سر هم نتونستم با این روش درستش کنم و مجبور شدم از یک سری کد دیگه استفاده کنم . که تو این روش جدید هم ، بعد از یک بار اجرای برنامه ، اول برنامه میگه که دیتابیس قبلا وجود داره . البته باید با دیتچ کردن در موقع خروج از برنامه این مشکل حل شه
از این لینک میتونید کد رو ببینید :
http://www.irancsharp.net/Post-58.aspx
البته من هنوز به دنبال اینم که با استفاده از همون روش اول چجوری خطایی که دوستمون گذاشتن رو میشه برطرف کرد ؟
من هم مشکلم با همین روش حل شد و برای حل مشکل دوم شما هم از batch file استفاده کردم و داخل Installer برنامه قرار دادم تا فقط موقع نصب برنامه دیتا بیس اتچ بشه.
به هر حال از همه دوستان متشکرم.
این هم batch fileضمیمه 109233 که با پسوند .bat ذخیره میشه.
نقل قول: نحوه اتچ کردن DB در سیستم کاربر به صورت اتوماتیک، در Entity Frame Work به روش Data Base fi
یه مشکل دیگه هم دارم کسی می دونه با warning 4154 موقع نصب sql express 2008 از طریق Advanced Installer چه باید کرد؟؟ خواهش میکنم اگه کسی کار کرده کمک کنه.
ممنون.
نقل قول: نحوه اتچ کردن DB در سیستم کاربر به صورت اتوماتیک، در Entity Frame Work به روش Data Base fi
نقل قول:
نوشته شده توسط
SokooteShab1
من هم مشکلم با همین روش حل شد و برای حل مشکل دوم شما هم از batch file استفاده کردم و داخل Installer برنامه قرار دادم تا فقط موقع نصب برنامه دیتا بیس اتچ بشه.
به هر حال از همه دوستان متشکرم.
این هم batch file
ضمیمه 109233 که با پسوند .bat ذخیره میشه.
من نمیدونم batch file چیه و چجوری باید این فایله رو ایجاد کنم و دقیقا کجای برنامه م قرار بدم . میشه لطفا کامل مراحلشو برام بذارید ؟