PDA

View Full Version : حرفه ای: برنامه نویسی سه لایه با EF با یک متد خاص



gama_slv
شنبه 31 تیر 1391, 14:54 عصر
در فروم های زیادی مطالبی در باره سه لایه نویسی وجود دارد من خودم یک برنامه سه لایه ساخته ام
http://howprg.com/forum/showthread.php?tid=313
http://howprg.com/
که در دو سایت بالا می توانید آن را دانلود کنید حال میخواهم توسط EF این کا را بکنم روش برنامه نویسی سه لایه من همین روشی هست که در برنامه گفته شده اسفاده کرده ام
شامل Business Entity که لایه موجودیت هست و درتمام لایه ها استفاده میشود.
لایه اول Data Access است که جهت دسترسی به داده ها و اجرای دستورات بانکی CRUD میباشد. در این لایه از Data Set برای اتصال به بانک استفاده شده است.
لایه دوم Business Access لایه میانی است که با منطق و چگونگی عملکرد برنامه سرو کار دارد.
و لایه سوم presentation فرمهای ویندوزی برنامه می باشد
سوال من تعویض Data Set با Entity Framework هست.

sahebgharan
شنبه 31 تیر 1391, 18:28 عصر
من نتونستم پروژه رو که لینک دادین دانلود کنم!
منظورتون از این 3 لایه Data Access، Business Logic و Presentation؟ (یا اسمای مشابه) لایه ی اول شما چیه؟
اون چیزی که شما به عنوان DA نوشتین اگه همون Data Access هست در هر صورت (در معماری n لایه) باید لایه ی اول شما رو تشکیل بده و اگه می خواید از یک ORM مثله EF هم استفاده کنید تو این لایه قرار می گیره (می دونین لایه ها دست شماست ولی منطقی اینه که لایه ی اول شما با DB سروکار داشته باشه و استانداردشم همینه)
لایه ی بعد هم لایه ی Business هست که بهش BUS هم می گن، بین دو لایه می شینه و داده های لایه ی Presentation رو آماده می کنه ولی شما هنوز تو لایه ی آخرتون با DB سرکار دارین که یه جوریه!

باید دیتاست رو کلن حذف کنین و با روشی که اینجا گفته از روی دیتابیستون یه سری کلاس برای map کردن بسازید (یا برعکسش) + (http://adoeftutorial.codeplex.com/) (همون Part 1)

gama_slv
شنبه 31 تیر 1391, 19:21 عصر
من نتونستم پروژه رو که لینک دادین دانلود کنم!
منظورتون از این 3 لایه Data Access، Business Logic و Presentation؟ (یا اسمای مشابه) لایه ی اول شما چیه؟
اون چیزی که شما به عنوان DA نوشتین اگه همون Data Access هست در هر صورت (در معماری n لایه) باید لایه ی اول شما رو تشکیل بده و اگه می خواید از یک ORM مثله EF هم استفاده کنید تو این لایه قرار می گیره (می دونین لایه ها دست شماست ولی منطقی اینه که لایه ی اول شما با DB سروکار داشته باشه و استانداردشم همینه)
لایه ی بعد هم لایه ی Business هست که بهش BUS هم می گن، بین دو لایه می شینه و داده های لایه ی Presentation رو آماده می کنه ولی شما هنوز تو لایه ی آخرتون با DB سرکار دارین که یه جوریه!

باید دیتاست رو کلن حذف کنین و با روشی که اینجا گفته از روی دیتابیستون یه سری کلاس برای map کردن بسازید (یا برعکسش) + (http://adoeftutorial.codeplex.com/) (همون Part 1)

پست سوال اصلاح شد و لینک داده شده درست شد

sahebgharan
شنبه 31 تیر 1391, 20:09 عصر
خب الان شما Entity هایی که لازم دارید رو پیاده کردید اگه هنوز دیتابیس رو ایجاد نکردین می تونین از رو همین Entityبسازینش (+ (http://www.codeproject.com/Articles/318010/Entity-Framework-Code-First-Let-s-Try-It))
ولی حالا شما Db رو هم دارین پس از روی اون باید map خودتونو بسازین. یه Entity Data Model می سازین (اینجا (http://entityframeworktutorial.net/create-first-simple-EDM.aspx)خیلی شمرده توضیح داده)
حالا برای شما یه سری کلاس می سازه که باهاش می تونین داده ها تونو تو DB رد و بدل کنین (اول اسم این کلاسا اسم Entity شماست).
حالا شما می تونین یه سری کلاس تو لایه ی Business Logic بسازین که نیازهای لایه ی بالارا ارضا کنه اونم می تونین با Linq که راحت تره پیاده ش کنین (+ (http://entityframeworktutorial.net/Querying-with-EDM.aspx) بهتره روش اول یاد بگیرین)
اضافه کردن یه Entity: + (http://entityframeworktutorial.net/save-entity-in-entity-framework.aspx)
حذفش: + (http://entityframeworktutorial.net/delete-entity-in-entity-framework.aspx)
آپدیتش: + (http://entityframeworktutorial.net/update-entity-in-entity-framework.aspx)

اینا به ذهنم رسید بگم باز چیزی بود بگین