سایر مقالات سری آموزش MVC 5 :
آموزش شروع کار با ASP.NET MVC 5
اضافه کردن کنترلر (آموزش ASP.NET MVC)
اضافه کردن View (آموزش ASP.NET MVC)
اضافه کردن Model (آموزش ASP MVC)
کلاس MovieDBContext که در سری قبلی آموزش mvc 5 ساختید ، وظیفه ارتباط با پایگاه داده و نگاشت(mapping) اشیا کلاس Movie به رکوردهای پایگاه داده را دارد. سوالی که ممکن است به وجود بیاید این است که چگونه تشخیص میدهد که به کدام پایگاه داده متصل شده است. در واقع نیازی نیست شما مشخص کنید که کدام پایگاه داده است که به اشیا Movie متصل شده است، Entity Framework به طور پیشفرض از LocalDB استفاده میکند. در این بخش ما به شکل صریح یک Connection string را به فایل Web.config از برنامه اضافه میکنیم.
LocalDB در SQL Server Express
LocalDB یک نسخه کوچکتر از نرمافزار پایگاه داده SQL Server Express است که در مد کاربر(user mode) اجرا میشود. LocalDB در مد خاصی از SQL Server Express اجرا میشود که به شما اجازه میدهد با پایگاه دادهها به صورت فایلهایی با پسوند .mdf کار کنید. به طور معمول فایلهای LocalDB در پوشه App_Data از پروژه شما ذخیره میشوند. برای ساخت برنامه های تحت وب، SQL Server Express پیشنهاد نمیشود. به طور خاص استفاده از LocalDB در ساخت برنامههای تحت وب مناسب نیست زیرا برای کار با IIS طراحی نشده است. اماLocalDB میتواند به راحتی با SQL Server یا SQL Azure منطبق شود.
در Visual Studio 2013، LocalDB به صورت پیشفرض با نصب Visual Studio نصب میشود.
به طور پیشفرض، Entity Framework به دنبال یک connection string با نامی مشابه شی مشتق شده از کلاس(در اینجا MovieDBContext) میگردد.
فایل Web.config از برنامه را مانند شکل باز کنید.(Web.config در پوشه Views قرار دارد)
در این فایل بخش connection string را پیدا کنید.
Connection string زیر را به قسمت <connection string> در فایل Web.config اضافه کنید.
دو connection string ایجاد شده کاملا مشابه هستند. نام connection string اول DefaultConnection است و برای عضویت در پایگاه داده بکار میرود و کنترل میکند که چه کسی میتواند به برنامه دسترسی داشته باشد. Connection stringای که شما اضافه کردهاید پایگاه داده LocalDB را معین میکند که نام آن Movie.mdf است و در پوشه App_Data قرار دارد. در این سری آموزشی از پایگاه داده عضویت (membership) استفاده نمیکنیم.
نام connection string باید با نام کلاس DbContext یکسان باشد.
نیازی نیست که connection string مربوط به MovieDBContext را در پروژه اضافه کنید. اگر connection string را معین نکنید، Entity Framework یک پایگاه داده LocalDB در پوشه users ایجاد میکند. میتوانید نام دلخواه خود را برای پایگاه داده با پسوند .mdf انتخاب کنید.
در قدم بعد شما کلاس جدید MovieController را برای نمایش داده های فیلم و دادن مجوز به کاربران برای ایجاد لیست فیلمهای خود، میسازید.