PDA

View Full Version : سوال: ایجاد کلاس به صورت اتوماتیک



محمد علی طوفانی
پنج شنبه 08 مهر 1389, 13:59 عصر
با سلام
یک برنامه خوب و حرفه ای لازم داشتم که بتوانم بانک اطلاعاتی را بهش معرفی بکنم و خودش برایم کلاسها در سی شارپ و استورپروسیجرها در SQL را بسازد.اگر برنامه خوبی میشناسید معرفی کنید ممنون میشوم.:متفکر:

(جستجو کردم چیز خاصی ندیدم):ناراحت:

اگر هم جای این تاپیک اینجا نیست به بخش مربوطه انتقال دهید:خجالت:

با تشکر فراوان:قلب:

mohammad272005
پنج شنبه 08 مهر 1389, 17:23 عصر
والا به نظر من اینه سوال کردن نداره. من LINQ و Entity Framework خود Visual Studio چشه؟

محمد علی طوفانی
شنبه 10 مهر 1389, 00:16 صبح
با تشکر از شما
اگر منبع آموزشی دارید و معرفی نمائید ممنون میشوم:لبخندساده:
(فارسی یا انگلیسی)

mehdi.mousavi
شنبه 10 مهر 1389, 01:09 صبح
با سلام یک برنامه خوب و حرفه ای لازم داشتم که بتوانم بانک اطلاعاتی را بهش معرفی بکنم و خودش برایم کلاسها در سی شارپ و استورپروسیجرها در SQL را بسازد.اگر برنامه خوبی میشناسید معرفی کنید ممنون میشوم.

سلام.
لیست برنامه های ORM Open Source رو می تونید اینجا ببینید (http://csharp-source.net/open-source/persistence/orm-net). برخی از اونها بسیار عالی هستن و سالهاست که امتحان خودشون رو پس داده اند:


NHibernate (http://sourceforge.net/projects/nhibernate/files/)
Subsonic (http://subsonicproject.com/)

موفق باشید.

hamid.shekasteh
شنبه 10 مهر 1389, 07:28 صبح
لیست برنامه های ORM Open Source رو می تونید اینجا ببینید (http://csharp-source.net/open-source/persistence/orm-net). برخی از اونها بسیار عالی هستن و سالهاست که امتحان خودشون رو پس داده اند:


NHibernate (http://sourceforge.net/projects/nhibernate/files/)
Subsonic (http://subsonicproject.com/)
موفق باشید.
__________________


استاد موسوی نظر کلی شما در مورد ORM ها چیه به نظرتون LINQ مناسبتر نیست؟
و اینکه برنامه نویس را تنبل نمی کنه؟

mehdi.mousavi
شنبه 10 مهر 1389, 10:15 صبح
استاد موسوی نظر کلی شما در مورد ORM ها چیه به نظرتون LINQ مناسبتر نیست؟ و اینکه برنامه نویس را تنبل نمی کنه؟

سلام.
ایجاد لایه DAL عموما کار دشوار، تکراری و خسته کننده ای هستش. از اون بدتر، این لایه مدام بر اساس تغییرات بانک باید تغییر کنه و به روز بشه. بهمین دلیل اکثر افراد فعال در حوزه نرم افزار پیشنهاد میکنن که حداقل به یکی از ORM های موجود خوب مسلط شده و از اون استفاده کنید. در کل، اسم این مساله رو نمیشه تنبلی گذاشت. :لبخندساده:

در هر حال، شما LINQ رو نباید با ORM ها مقایسه کنید. اگر منظورتون Entity Framework هستش، مقایسه های بسیار زیادی توسط افراد مختلف (http://www.google.com/search?hl=&q=nhibernate+active+record&sourceid=navclient-ff&rlz=1B3GGGL_enUS300IR304&ie=UTF-8#sclient=psy&hl=en&rlz=1B3GGGL_enUS300IR304&source=hp&q=nhibernate+vs+entity+framework+4.0&aq=1&aqi=g6&aql=&oq=nhibernate+vs+e&gs_rfai=&fp=c6affe93747c32d0) بین EF و NHibernate صورت گرفته که با یک جستجوی سریع در گوگل می تونید به این مقالات برسید (من چون خودم تجربه ای با Entity Framework نداشته ام، نمیتونیم در موردش نظر بدم).

البته برای انتخاب یک ORM خوب، ابتدا باید با دو مدل ORM ای که وجود داره آشنا بشید:


Active Record
Data Mapper

سپس، ببینید با کدوم مدل راحت تر هستید و ORM ای رو انتخاب کنید که بر اساس اون الگو پیاده سازی شده. بطور مثال Subsonic جزء Active Record ها هستش، در حالیکه NHibernate جزء Data Mapper... (من میونه خوبی با ORM های Active Record ندارم، اما Subsonic رو تحسین میکنم).

در هر حال، واژه هایی رو که نام بردم در گوگل جستجو کرده و در موردشون بیشتر مطالعه کنید تا با هر دو الگو بیشتر آشنا بشید. سپس ORM ای رو که با سلائق شما سازگار بود و شرایط یک ORM استاندارد رو داشت (این مساله بسیار بسیار مهمه) انتخاب کرده و استفاده کنید.

موفق باشید.