PDA

View Full Version : اخطار استفاده از EF برای لوکال SQL



maktab
شنبه 10 دی 1390, 01:03 صبح
من از SQL Local تویه پروژم استفاده می کنم. وقتی براش EF درست می کنم و اون رو new می کنم این اخطار رو میده!
اصلا EF برای لوکال جواب میده (فکر کنم باید جواب بده) ولی اشکالش چیه؟

gwbasic
شنبه 10 دی 1390, 12:08 عصر
هنگام تولید فایل edmx کانکشن استرینگ بر اساس database ورودی شما (چه local باشه چه نباشه ) ساخته می شه و در App.Config اضافه می شه شما این ConnectionString رو احتمالا پاک کردین

maktab
شنبه 10 دی 1390, 13:49 عصر
هنگام تولید فایل edmx کانکشن استرینگ بر اساس database ورودی شما (چه local باشه چه نباشه ) ساخته می شه و در App.Config اضافه می شه شما این ConnectionString رو احتمالا پاک کردین

من فقط دارم نحوه استفاده را چک میکنم یعنی فقط یه پروژه درست میکنم و دیتابیس میسازم (جدولها) و براش EF میسازم. بعد از EF استفاده می کنم. همین! (پروزه بزرگی نیست که احتمال داشته باشه قبلا پاکش کرده باشم)

این هم کانکشن:


<connectionStrings>
<add name="db1Entities" connectionString="metadata=res://*/EFModel1.csdl|res://*/EFModel1.ssdl|res://*/EFModel1.msl;provider=System.Data.SqlServerCe.3.5; provider connection string=&quot;Data Source=|DataDirectory|\db1.sdf&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>


راستی دوباره یه پروژه دیگه ساختم باز هم این مشکل پیش آمد!! احتمال زیاد از همین کانکشن باشه. اگر میشه چک کنید ببینید مشکل نداشته باشه.
ممنون

gwbasic
شنبه 10 دی 1390, 15:48 عصر
مشکل از Provider هست اگه خطا رو جستجو کنی جوابهای مختلفی وجود داره یکی اینکه Target Patform پروژت رو روی x86 قرار بدی و ...
اما راه کاملتر اینه که Sql Compact رو پاک کنی ( که از طریق نصب ویژوال استودیو نصب می شه) و نسخه کاملش رو از سایت Microsoft بگیری و نصب کنی. از لینک زیر کمک بگیر
http://blog.severinpankov.com/2010/01/unable-to-develop-sql-server-compact.html

اما به نظر من اگه فقط می خوای یک dataBase به صورت فایل داشته باشی می تونی از طریق Service based DataBase فایل database رو ایجاد کنی که از Sql express استفاده می کنه و دیگه مشکلی نخواهی داشت برای توضیح بیشتر به آموزش ثبت سفارشات من رجوع کن

maktab
شنبه 10 دی 1390, 16:48 عصر
یکی اینکه Target Patform پروژت رو روی x86 قرار بدی

به این شکل هست.



اما راه کاملتر اینه که Sql Compact رو پاک کنی ( که از طریق نصب ویژوال استودیو نصب می شه) و نسخه کاملش رو از سایت Microsoft بگیری و نصب کنی.

من قبلا دانلود و نصب کرده بودم. البته چیزی که ویژوال نصب میکنه رو پاک نکردم. حالا دوباره پاک می کنم و نصب می کنم...



اما به نظر من اگه فقط می خوای یک dataBase به صورت فایل داشته باشی می تونی از طریق Service based DataBase فایل database رو ایجاد کنی که از Sql express استفاده می کنه و دیگه مشکلی نخواهی داشت برای توضیح بیشتر به آموزش ثبت سفارشات من رجوع کن
ولی در مورد این.
من می خوام وقتی از sql استفاده کردم دیگه نیاز به نصب sql در کامپیوتر مقصد (کسی که می خواد برنامه رو اجرا کنه) نباشه برای همین از لوکال استفاده می کنم. برای همین نمیتونم از Sql express استفاده کنم.

gwbasic
یک شنبه 11 دی 1390, 08:17 صبح
بدون نیاز به نصب Sql امکان استفاده وجود ندارد. در حالت Compact هم باید Sql Compact نصب باشد!

maktab
یک شنبه 11 دی 1390, 12:28 عصر
بدون نیاز به نصب Sql امکان استفاده وجود ندارد. در حالت Compact هم باید Sql Compact نصب باشد!
شما مطمئنی نیاز به نصب دارد!!!؟
ولی تاجایی که من میدونم این طوری نیست!
http://barnamenevis.org/showthread.php?159523-Sql-Server-Compact-Edition&p=722228&viewfull=1#post722228

maktab
یک شنبه 11 دی 1390, 12:45 عصر
نسخه 4 رو از سایت دانلود کردم ولی بعد از نصب اصلا نمیشه ازش استفاده کرد! قبل از نصب هم سه فایل نسخه 3.5 رو از سیستم پاک کردم (ورژنی که با ویژوال نصب میشه). الان دوباره نسخه های قبلی رو از سی دی نصب کردم و دوباره با مشکل قبلی روبه رو شدم.
البته با روش های معمولی مثل ds جواب میده و فقط با ef مشکل داره. فکر کنم مشکل از sql Compact نباشه و از خود ef هست که Provider اون رو نداره.
حالا باید چکار کنم تا درست بشه؟ تویه انجمن جستجو کردم تاپیک ای بوده که همین مشکل رو داشته ولی جواب داده نشده بود.

gwbasic
یک شنبه 11 دی 1390, 13:35 عصر
کدی که wizard درست می کنه بر اساس ورژن 3.5 بنابراین ورژن 4 قابل استفاده نیست مگر اینکه دستی ورژن رو تغییر بدی لینک زیر توضیح داده
http://stackoverflow.com/questions/5205280/entity-framework-4-and-sql-compact-4-how-to-generate-database

با VS2010 دیتابیس رو ساختم با EF کار می کنه ورژن VS و DataBase File و کد تولید شده EDM رو بررسی کنید

maktab
یک شنبه 11 دی 1390, 14:17 عصر
من نسخه 3.5 رو پاک کردم و دوباره نسخه 3.5 را از سایت دانلود کرده و نصب کردم.
مشکل برطرف شد.