PDA

View Full Version : سوال: بهترین روش برای ایجاد دیتابیس



HamidNch
جمعه 17 شهریور 1391, 11:53 صبح
سلام به همه دوستان.
MVC با اون ورژنهای پی در پی و تغییرات اساسیش تو هر ورژن باعث شده برخی چیزها مبهم جلوه بده،لااقل واسه من اینطوره.

یکی از این موارد انتخاب نحوه ایجاد بانک اطلاعاتی برنامه است.
در Web Form ها می دونستیم که تو یه پایگاه داده مثلا Sql Server دیتابیسمون رو ایجاد می کردیم و بعد با ایجاد
کانکشن ارتباط با دیتابیس برقرار میشد و ...
اما در حال حاضر با وجود Sql Server CE میشه بصورت توکار دیتابیس رو تو خود ویژوال استودیو ایجاد و بعد جداول اون رو به کلاسهای مورد نظر مپ کرد. و یا اینکه کلاسهای مورد نظر خود را ابتدا تعریف نمود بعد با فیتلرهای خاصی مزین کرد تا بعد از اجرای برنامه دیتابیس و جداول موردنظر ایجاد گردند.

و حالت دیگه SqlExpress ورژن جدید تو Vs2012 هستش که ......

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

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

mze666
جمعه 17 شهریور 1391, 13:22 عصر
به نظرم بهترین روش استفاده از Entity Framework Code First هستش که میتونید با تغییر کانکشن استرینگ دیتابیس مورد نظرتون رو درست کنید (بدون درگیر شدن با محیط طراحی دیتابیس و ...) و در حالی که انواع دیتابیس ها مثل Sqllite, SQL Server, Express, CE, ... رو هم پشتیبانی میکنه.

شاید در نگاه اول یه خورده به نظر سخت بیاد که روابط بین جدول ها رو هم با کد تنظیم کرد ولی همه چیز حتی Cascade Delete و ... هم میشه باهاش تنظیم کرد.

HamidNch
جمعه 17 شهریور 1391, 17:06 عصر
ممنون از جوابتون.
میشه بیشتر توضیح بدین.که این دیتابیسی که EF می سازه از چه نوعیه.منظورم اینکه که در قالب Sql Express هست یا درحالت کلی بحث قدرت و امنیت در اون لحاظ شده به بهترین جالت.
ودیگه اینکه ممکنه به زبان ساده بهم بگین که کدهای موردنیاز برای ایجاد دیتابیس بنابر مدلهای ایجاد شده چیه.
بازم ممنون.

mze666
جمعه 17 شهریور 1391, 18:54 عصر
خواهش میکنم. این که دیتابیستون چی باشه رو با تغییر کانکشن استرینگ میشه مشخص کرد و انواع دیتابیسایی که در پست قبلی ذکر کردم رو ساپورت میکنه. منظورتون از امنیت چه چیزیه؟ مثلا رمز گذاری روی دیتابیس یا چیز دیگه ای؟ ولی در کل من راجع به امنیت خیلی اطلاع ندارم.

شما با استفاده از Nuget پکیج Entity Framework ورژن 4.3.1 یا 5.0 رو در پروژتون نصب میکنید. کلاسای مورد نظرتون رو برای هر Entity مینویسید و همچنین یه کلاس هم برای Context که از DbContext مشتق میشه و از طریق اون میتونید با دیتابیستون ارتباط برقرار کنید و به Entity ها دسترسی داشته باشید. بگردید Sample های زیادی توی اینترنت هستش. آموزش های سایت آقای نصیری هم خیلی میتونه کمکتون کنه تا روش Code First رو یاد بگیرید.