PDA

View Full Version : اولین اتصال به دیتابیس در EF



f.beigirad
جمعه 06 اردیبهشت 1392, 18:59 عصر
درود دوستان.

با EF برای اولین باری که میخوام به دیتابیس کانکت بشم یکم طول میکشه.(حدود 2 تا 4 ثانیه)

میخوام این ارتباط با دیتابیس در Splash Screen که در ابتدای اجرای نرم افزار گذاشتم برقرار شه.

توی ADO.NET یه کانکشن میساختیم و کانکت میشدیم.ولی توی EF با استقاده از using کارامونو راه میندازیم.

این اولین ارتباط رو چجوری برقرار کنم؟منظورم اینه برای ارتباط با دیتابیس حتما باید یه دستور الکی و بیهوده (برای مثال سلکت) بفرستم تا ارتباط برقرار شه؟ یا راه خاصی داره ؟ یا دستور خاصی داره؟

اگر میشه راهنماییم کنید.
با تشکر

Mahmoud.Afrad
جمعه 06 اردیبهشت 1392, 19:09 عصر
Database1Entities db = new Database1Entities();
db.Connection.Open();
db.Connection.Close();

f.beigirad
جمعه 06 اردیبهشت 1392, 19:18 عصر
برخلاف تصورم اونطوری که انتظار داشتم نشد.
و هیچ فرقی نکرد.راهی هست بغیر از سلکت کردن ؟
چون وقتی سلکت برای اولین بار انجام میشه سرعت ارتباط بالاتر میره

f.beigirad
جمعه 06 اردیبهشت 1392, 19:48 عصر
دوستان عزیز منتظر پاسخ هاتون هستم.......

ممنون

f.beigirad
شنبه 07 اردیبهشت 1392, 15:29 عصر
با سلام دوستان.

پاسخ ندادن شما بدین معنیه که راهی برای انجام کاری وجود نداره ??

لطفا پاسخ بدین.

با تشکر

aghayex
شنبه 07 اردیبهشت 1392, 16:22 عصر
حتما یه راه اصولی هست ولی تا حالا خودم هم بهش نرسیدم.
شما می تونی یه سلکت بزنی که یک مقدار برگردونه مثل تعداد رکوردها

f.beigirad
چهارشنبه 11 اردیبهشت 1392, 13:03 عصر
درود.


حتما یه راه اصولی هست ولی تا حالا خودم هم بهش نرسیدم.

اگر به راه اصولیش دست پیدا کردین لطفا قرار بدین تا ماهم استفاده کنیم.
با تشکر

rezaei_y
چهارشنبه 11 اردیبهشت 1392, 14:12 عصر
هنگام اجرای برنامه یک فرم که دارای مثلا یک progressBar هست رو به کاربر نشون بده که چند ثانیه ای نمایش داده میشه سپس در این حین دستوری رو که دوستمون گفتن اجرا کن
Database1Entities db = new Database1Entities();
db.Connection.Open();
db.Connection.Close();

f.beigirad
پنج شنبه 12 اردیبهشت 1392, 22:04 عصر
هنگام اجرای برنامه یک فرم که دارای مثلا یک progressBar هست رو به کاربر نشون بده که چند ثانیه ای نمایش داده میشه سپس در این حین دستوری رو که دوستمون گفتن اجرا کن
Database1Entities db = new Database1Entities();
db.Connection.Open();
db.Connection.Close();


سلام.

من همین کار رو انجام دادم ولی فرقی در سرعت ارتباط بعدیم دیده نشد.

من مجبور شدم تعداد رکوردای یکی از جدولارو توی فرم splash screen بگیرم.اینطوری سرعت بهتر شد.

ولی قطعا این کاری که من کردم اصولی نیست!!!!

nasim2012
پنج شنبه 12 اردیبهشت 1392, 22:11 عصر
سلام
می تونی یک کار بهتر انجام بدی
یک جدول در دیتابیس برای چک کردن دیتابیس مورد نظر برنامه با فیلدهایی مانند نسخه اون و غیره قرار بده و اون را چک کن تا هم مشکلت حل بشه و هم اگه دیتابیس اتچ نشده بود یا اشتباه بود ، پیام خطا داده بشه

f.beigirad
پنج شنبه 12 اردیبهشت 1392, 22:16 عصر
اگه دیتابیس اتچ نشده بود یا اشتباه بود ، پیام خطا داده بشه

میشه بگین چطوری از این موضوع اطمینان چیدا کنم که اتچ شده یا نه؟

Mahmoud.Afrad
پنج شنبه 12 اردیبهشت 1392, 22:39 عصر
به جای تعداد ، یک کوئری سبک تر بزن مثلا اولین رکورد(با متد FirstOrDefault) یکی از جداول رو بگیر.

البته سرچ بزنی یه سری مطالب هست(انگلیسی) برای بهینه سازی.