PDA

View Full Version : سوال: استفاده از روش کدنویسی در EF



sadaf_
شنبه 29 تیر 1392, 20:09 عصر
سلام
من می خواستم فقط از طریق کدنویسی ارتباط برقرار کنم و یا چهار عمل اصلی رو انجام بدم
می شه یک راهنمایی بفرمایید

csvbcscp
شنبه 29 تیر 1392, 20:36 عصر
1. اول کلاس هاتو طراحی کن(ترجیحاً تو یک پروژه جدا)
2.یک کلاس که از نوع DbContext ارث بری می کنه بسازید ، سپس کلاس هایی که می خواهید تبدیل به جداول بانک اطلاعاتی بشن رو با استفاده از نوع داده جریک DbSet<> تعریف کنید
3. تو پروژه ای که می خوای استفاده کنی( مثلا Winform یا Console) یک نمونه از کلاسی که از DbContex ارث بری کرده بود بساز .
برای اضافه کردن،حذف یا ویرایش (CRUD) متد هایی در کلاس DbContext وجود داره که به راحتی می تونی استفاده کنی

sadaf_
شنبه 29 تیر 1392, 20:59 عصر
1. اول کلاس هاتو طراحی کن(ترجیحاً تو یک پروژه جدا)
2.یک کلاس که از نوع DbContext ارث بری می کنه بسازید ، سپس کلاس هایی که می خواهید تبدیل به جداول بانک اطلاعاتی بشن رو با استفاده از نوع داده جریک DbSet<> تعریف کنید
3. تو پروژه ای که می خوای استفاده کنی( مثلا Winform یا Console) یک نمونه از کلاسی که از DbContex ارث بری کرده بود بساز .
برای اضافه کردن،حذف یا ویرایش (CRUD) متد هایی در کلاس DbContext وجود داره که به راحتی می تونی استفاده کنی

اما من دیتابیس در بانکم وجود داره
کدی که از ado.net استفاده می کردم
رو می خوام تبدیل کنم به EF
مثلا


string strText1 = @"Data Source = name; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
SqlConnection con = new SqlConnection(strText1);
con.Open();
// سایردستورات
con.Close();

parvizwpf
یک شنبه 30 تیر 1392, 14:44 عصر
تبدیل اینها کار داره احتمالا نیاز دارید همه رو بازنویسی کنید. اگه کدتون و حجم دیتاهاتون زیاده بی خیال شید بزارید پروژه همینجوری کار کنه. اگه نه مو به مو گفته آقای csvbcscp (http://barnamenevis.org/member.php?174352-csvbcscp) رو اجرا کنید.

sadaf_
یک شنبه 30 تیر 1392, 15:19 عصر
تبدیل اینها کار داره احتمالا نیاز دارید همه رو بازنویسی کنید. اگه کدتون و حجم دیتاهاتون زیاده بی خیال شید بزارید پروژه همینجوری کار کنه. اگه نه مو به مو گفته آقای csvbcscp (http://barnamenevis.org/member.php?174352-csvbcscp) رو اجرا کنید.

اما من از ابتدا دارم یک پروژه جدید می نویسم
و از دستورات Ef استفاده کنم
لطفا راهنمایی کنید
ممنون

parvizwpf
یک شنبه 30 تیر 1392, 15:26 عصر
شما باید برید دوره ef رو تو سایت آقای نصیری بخونید.

sadaf_
یک شنبه 30 تیر 1392, 15:42 عصر
لطفا فقط به من بگید این دستور در ef چی می شه
همین

parvizwpf
یک شنبه 30 تیر 1392, 15:58 عصر
اگه منظور اینه که الان چون چیزی براش طراحی نشده مشکله ولی :

string strText1 = @"Data Source = name; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
SqlConnection con = new SqlConnection(strText1);
con.Open();
// سایردستورات
con.Close();

----------------------------------




اگه منظور اینه شما باید برای نظیر این در ef بیاید یه کلاسی بسازید که کلاس DbContext رو استفاده کنه(وراثت) . بعد در کانستراکتور اون کلاس بیاید اون جداولتون رو بوسیله DbSet تعریف کنید. بعد کانفیگ بدید. سپس حالا مثلا با یک کلاس Initializer از یک نوع مدل ساخت و طراحی بانک تون استفاده کرده و بانک رو بسازید.
اگر دیتابیس رو قبلا ساختید تو sql حالا بیاید یه آیتم entity data model به پروژه اضافه و اطلاعات جدولها رو داخل اون بکشید. سپس برای اجرای دستورات آمادس ببینید کانتکستس که ساخته نامش چیه با اون هر کاری بخواهید میکنید نیازی به open close ندارید.

sadaf_
یک شنبه 30 تیر 1392, 19:33 عصر
اگه منظور اینه که الان چون چیزی براش طراحی نشده مشکله ولی :

string strText1 = @"Data Source = name; Initial Catalog = SampleDB; User Id = sa; Password = 1;";
SqlConnection con = new SqlConnection(strText1);
con.Open();
// سایردستورات
con.Close();

----------------------------------




اگه منظور اینه شما باید برای نظیر این در ef بیاید یه کلاسی بسازید که کلاس DbContext رو استفاده کنه(وراثت) . بعد در کانستراکتور اون کلاس بیاید اون جداولتون رو بوسیله DbSet تعریف کنید. بعد کانفیگ بدید. سپس حالا مثلا با یک کلاس Initializer از یک نوع مدل ساخت و طراحی بانک تون استفاده کرده و بانک رو بسازید.
اگر دیتابیس رو قبلا ساختید تو sql حالا بیاید یه آیتم entity data model به پروژه اضافه و اطلاعات جدولها رو داخل اون بکشید. سپس برای اجرای دستورات آمادس ببینید کانتکستس که ساخته نامش چیه با اون هر کاری بخواهید میکنید نیازی به open close ندارید.

یعنی با ef فقط از روی ساختن مدل می شه استفاده و کدنویسی کرد؟

parvizwpf
چهارشنبه 02 مرداد 1392, 02:05 صبح
نه . شما گفتید "اما من دیتابیس در بانکم وجود داره"
خب منم گفتم میتونید از روش database first استفاده کنید.
اما روشی که توضیح دادم مربوط به اینه که خودتون بدون دیتابیس همه چی رو از اول ایجاد کنید.
شما گفتید این تیکه رو فقط میخوام منم خلاصه اون تیکه رو بصورت code first توضیح دادم.
سه روش دارید : model first - db first - code first

Arash_janusV3
دوشنبه 07 مرداد 1392, 20:30 عصر
Entity Framework (http://barnamenevis.org/showthread.php?411204-Entity-Framework)

pooria2c
شنبه 12 مرداد 1392, 20:11 عصر
سلام دوست عزیز همونطور که دوستمون parvizwpf (http://barnamenevis.org/member.php?243106-parvizwpf) فرمودند، ما سه نوع طراحی لایه داده رو داریم، روش model first، database first و code first که هرطوری که شما بخوایین می تونین طراحیتون و انجام بدین،

مثلاً در روش database first ابتدا شما مدل خودتون و از پایگاه داده موجود طراحی می کنید، که کار خاصی نداره و تمامی کلاس ها به صورت خودکار تولید میشه، در روش مدل که باز هم معلومه، شما مدل رو دارین و فقط می خوایین پایگاه داده رو از اون بسازین و در روش code first که واقعاً روش خوبیه، شما به صورت شیء گرا خودتون از پایه کلاس ها، ویژگی ها رو تعریف می کنین و از روی اون پایگاه دادتون رو تعریف می کنین، که یادگرفتنش هم کار خاصی نداره و می تونین برای اعتبار سنجی هم از کلاس ComponentModel.DataAnontation استفاده کنید.

oliya24
چهارشنبه 16 مرداد 1392, 12:32 عصر
www.learnfiles.com (http://www.learnfiles.com/)