PDA

View Full Version : سوال: سوالهایی در خصوص روش Entity Framework



sadaf_
یک شنبه 30 تیر 1392, 23:20 عصر
سلام
من بررسی های متفاوتی انجام دادم
ولی به نتیجه نرسیدم

من به تازگی می خوام پروژه ای را شروع کنم با روش EF
اما نمی دونم کدام روش رو استفاده کنم!!
Code first, Code only,...
واقعا گیج شدم:متعجب:

من می خوام پروژه ام به صورت ویزاردی نباشه فقط کدنویسی باشه
دیتابیس هم در سیستم وجود داره پس نیازی نیست دستوراتم رو برای ساخت دیتابیس ایجاد کنم
حالا برای چهار عمل اصلی و برقراری ارتباط با دیتابیس چه روشی رو پیشنهاد می دید؟

ممنون

Direlap
دوشنبه 31 تیر 1392, 00:21 صبح
چون دیتابیس شما از قبل آماده هست روش شما میشه روش Database First

برای این روش هم حتما باید در مرحله اول که دیتابیس رو به پروژه اضافه می کنیم با ویزارد یک مدل ازش درست کنیم و با استفاده از اون مدل به تیبل ها دسترسی داشته باشیم.

اینکه میگید بدون ویزارد به نظر من اصلا نمیشه و یک مرحله باید با ویزارد ایجاد بشه ولی بقیش کد نویسیه.

منظورتونو درست متوجه شدم ؟

sadaf_
دوشنبه 31 تیر 1392, 13:13 عصر
چون دیتابیس شما از قبل آماده هست روش شما میشه روش Database First

برای این روش هم حتما باید در مرحله اول که دیتابیس رو به پروژه اضافه می کنیم با ویزارد یک مدل ازش درست کنیم و با استفاده از اون مدل به تیبل ها دسترسی داشته باشیم.

اینکه میگید بدون ویزارد به نظر من اصلا نمیشه و یک مرحله باید با ویزارد ایجاد بشه ولی بقیش کد نویسیه.

منظورتونو درست متوجه شدم ؟

ممنونم از پاسختون
تا اینجای کار رو متوجه شدم
می شه لطف کنید یک مثال کوچک از کدنویسی هم به من بدید

در مقاله ای خوانده بودم که با EF مهم نیست دیتابیس شما چی هستش
و هر دیتابیسی باشه اون رو می شناسه . در خصوص این موضوع باید چطوری انجام داد؟

ممنون

danialafshari
دوشنبه 31 تیر 1392, 13:39 عصر
سلام
فکر می کنم در پست دیگری هم گفتم
در سایت http://learnfiles.com/ فیلم آموزشیش به همراه 4 عمل اصلی وجود داره

Direlap
دوشنبه 31 تیر 1392, 16:12 عصر
در مقاله ای خوانده بودم که با EF مهم نیست دیتابیس شما چی هستش
و هر دیتابیسی باشه اون رو می شناسه . در خصوص این موضوع باید چطوری انجام داد؟


EF یه ORM که این دیتابیس هارو ساپورت می کنه و به این کاری نداره که نوع دیتابیسش چی هست.(البته اونایی که ساپورت می کنه رو میگم)
اینم از لیست دیتابیس هایی که میشناسه و با اونا به عنوان یه آبجکت رفتار میکنه :
http://en.wikipedia.org/wiki/Entity_Framework#Entity_Framework_ADO.NET_provider s

تو این لینک زیر هم توضیح نسبتا کاملی داده با یه کلیپی که 4 تا عمل اصلی رو با EF پیاده سازی کرده.
http://www.daneshjooyar.com/%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D9%81%DB%8C%D9%84%D9%85-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-entity-framework-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE/

چندتا سایت دیگه هم هستن تو نت که هرکدومشون اومدن این 4 تا عمل اصلی رو پیاده سازی کردن.

sadaf_
دوشنبه 31 تیر 1392, 16:27 عصر
سلام
فکر می کنم در پست دیگری هم گفتم
در سایت http://learnfiles.com/ فیلم آموزشیش به همراه 4 عمل اصلی وجود داره
می شه لطف کنید لینک فیلم رو بدید

sadaf_
دوشنبه 31 تیر 1392, 16:30 عصر
EF یه ORM که این دیتابیس هارو ساپورت می کنه و به این کاری نداره که نوع دیتابیسش چی هست.(البته اونایی که ساپورت می کنه رو میگم)
اینم از لیست دیتابیس هایی که میشناسه و با اونا به عنوان یه آبجکت رفتار میکنه :
http://en.wikipedia.org/wiki/Entity_Framework#Entity_Framework_ADO.NET_provider s

تو این لینک زیر هم توضیح نسبتا کاملی داده با یه کلیپی که 4 تا عمل اصلی رو با EF پیاده سازی کرده.
http://www.daneshjooyar.com/%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D9%81%DB%8C%D9%84%D9%85-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-entity-framework-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE/

چندتا سایت دیگه هم هستن تو نت که هرکدومشون اومدن این 4 تا عمل اصلی رو پیاده سازی کردن.

Access چرا بین اینها نیست؟

Direlap
دوشنبه 31 تیر 1392, 17:16 عصر
جواب دقیق اینو نمیدونم ولی به نظر میاد EF از access پشتیبانی نمیکنه و تو فروم های دیگه اینو به جاش پیشنهاد میکنن

http://msdn.microsoft.com/en-us/library/bb386977.aspx

یا استفاده از نسخه اکسپرس sql

sadaf_
دوشنبه 31 تیر 1392, 17:30 عصر
جواب دقیق اینو نمیدونم ولی به نظر میاد EF از access پشتیبانی نمیکنه و تو فروم های دیگه اینو به جاش پیشنهاد میکنن

http://msdn.microsoft.com/en-us/library/bb386977.aspx

یا استفاده از نسخه اکسپرس sql

اگر دیتابیس access بود از چه روشی متصل بشیم؟

Direlap
دوشنبه 31 تیر 1392, 17:51 عصر
با روش های معمولی که قبلا وصل میشدید. تو ado و یا با استفاده از LINQ

حتما میخواهید با اکسس کار کنید ؟ نمیخواهید ارتقا بدید به sql ؟

sadaf_
دوشنبه 31 تیر 1392, 18:05 عصر
با روش های معمولی که قبلا وصل میشدید. تو ado و یا با استفاده از LINQ

حتما میخواهید با اکسس کار کنید ؟ نمیخواهید ارتقا بدید به sql ؟
در حال حاضر هم sql کار می کنم
مشکلی که هم اکنون باهاش برخوردم رو عنوان می کنم
فرض کنید کاربر قراره دیتابیسی رو که من نمی دونم چی هستش و به یک برنامه معریف کنه(sql یا sql lite یا access , ...) و من نام جداول اون و فیلدهای اون جداول رو بهش نمایش بدم
حالا چطوری می تونم با EF این کار رو انجام بدم؟

ممنون

Direlap
دوشنبه 31 تیر 1392, 18:22 عصر
با این دید به برنامه تابحال نگاه نکردم.
به نظرم میرسه اطلاعاتی که دارین میدین کافی نباشه چون این سوال ایجاد میشه که چرا کاربر باید دیتابیس رو تعریف کنه؟(شاید برنامه ای که میخوایین بنویسین میخواد دیتابیس هارو نشون بده)
اونی که مشخصه EF با access نمیشه و شما باید دنبال یه راه دیگه باشید(یا روشی به جز EF و یا روشی که بتونه access رو به EF بشناسونه)


من نام جداول اون و فیلدهای اون جداول رو بهش نمایش بدم
اینو نمیدونم چطوری . چون من فقط با EF با روش database first کار کردم و بعد ازش مدلشو ساختم و به جداولش دسترسی پیدا کردم و کارای خودمو جلو بردم.
به نظرم شما بهتره این کتاب رو حتما بخونید تا کامل به EF مسلط بشین Entity framework 4 in action و یا منتظر بشین یکی دیگه که جواب سوال شمارو میدونه بیاد کمکتون کنه.