شروع دوره پایتون از پنجشنبه 1 خرداد ، مقدماتی تا پیشرفته، بدون پیش نیاز شروع دوره پایتون از پنجشنبه 1 خرداد ، مقدماتی تا پیشرفته، بدون پیش نیاز
🎯 ثبت نام
بستن تبلیغات
تسلط کامل بر سی‌شارپ با یک دوره پروژه‌محور

یادگیری سی شارپ از مفاهیم پایه تا پروژه محور: شی‌گرایی، کار با SQL و LINQ، ORMها (Entity Framework)، ساخت پروژه مدیریت رستوران با گزارشات حرفه‌ای و امکانات کامل!

مشاهده بیشتر
تسلط جامع بر MVC Core برای توسعه وب حرفه‌ای

یادگیری MVC Core از مبانی تا پیشرفته: شی‌گرایی، Routing، Entity Framework، امنیت، تست یونیت، Razor، Ajax، و پروژه‌های کاربردی! یک دوره کامل برای تسلط بر توسعه وب با ASP.NET Core. به صورت حضوری و آنلاین!

مشاهده بیشتر

آموزش ایجاد Connection String در MVC

ایجاد کردن یک connection string و کار با نسخه ی SQL Server LocalDB

کلاس MovieDBContext که ایجاد کردید، وظیفه ی اتصال به پایگاه داده و نگاشت اشیا movie به سطر (رکورد) های پایگاه داده را بر عهده دارد. یکی از سوال هایی که ممکن است برای شما پیش آید این است که چگونه می توان تعیین کرد به کدام پایگاه داده متصل شود. در پاسخ باید گفت که نیازی نیست مشخص کنید کدام پایگاه داده مورد استفاده قرار گیرد، EF خود به صورت پیش فرض به پایگاه داده ی LocalDB متصل می شود. در این بخش به صورت صریح یک connection string در فایل Web.config برنامه خود اضافه می کنیم.


SQL Server Express LocalDB

LocalDB یک نسخه ی سبک وزن و کم حجم از موتور پایگاه داده ی SQL Server Express است که به مجرد تقاضا راه اندازی شده و در حالت user mode اجرا می شود. LocalDB در یک حالت اجرایی ویژه ی SQL Server Express اجرا می شود که به شما اجازه می دهد با پایگاه داده به صورت فایل های mdf. کار کنید. به طور معمول، فایل های پایگاه داده ی LocalDB در پوشه ی App_Data پروژه ی وب نگه داری می شود.
SQL Server Express به هیچ وجه برای استفاده در برنامه های تحت وب تولیدی (production web applications) توصیه نمی شود. این امر به خصوص درمورد LocalDB صدق می کند؛ به هیچ وجه نباید LocalDB برای تولید با یک برنامه ی تحت وب بکار رود زیرا این نسخه اساسا برای کار با IIS (سرویس های اطلاعات اینترنتی) طراحی نشده است. با این حال، یک پایگاه داده ی LocalDB را می توان به راحتی به SQL Server یا SQL Azure انتقال migrate) )داد.
در ویرایش های 2012 و 2013 محیط برنامه نویسی Visual Studio، LocalDB به صورت پیش فرض همراه با خود Visual Studio نصب می شود.
به صورت پیش فرض، Entity Framework به دنبال یک connection string که دارای اسمی یکسان با کلاس object context (برای این پروژه ی خاص MovieDBContext) می باشد، می گردد.
فایل Web.config که در زیر به نمایش گذاشته شده را باز کنید. (منظور آن فایل Web.config که در پوشه ی Viewsقرار دارد نیست.)


آموزش MVC

المان < connectionstrings> را پیدا کنید:


آموزش MVC

Connection string زیر را به المان داخل Web.config اضافه نمایید:


< add name="MovieDBContext"
     connectionstring="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"
     providername="System.Data.SqlClient" />

مثال زیر بخشی از فایل Web.config را نشان می دهد که connection string جدید به آن اضافه شده است:


 
< connectionstrings>
< add name="DefaultConnection" connectionstring="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-MvcMovie-20130603030321.mdf;Initial Catalog=aspnet-MvcMovie-20130603030321;Integrated Security=True" providername="System.Data.SqlClient" />

< add name="MovieDBContext" connectionstring="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providername="System.Data.SqlClient" />

    connectionStrings>

دو connection string بسیار شبیه هستند. اولین connection string، DefaultConnection نامیده شده و برای مدیریت عضویت در پایگاه داده و اینکه چه کسی می تواند به برنامه (membership database) دسترسی داشته باشد، بکار می رود. Connection string ای که شما اضافه کرده اید یک پایگاه داده LocalDB به نام Movie.mdf تعریف می کند که در پوشه ی App_Data قرار می گیرد.
اسم connection string باید با اسم کلاس DbContext مطابقت داشته باشد.


using System;
using System.Data.Entity;
namespace MvcMovie.Models
{
    public class Movie
    {
        public int ID { get; set; }
        public string Title { get; set; }
        public DateTime ReleaseDate { get; set; }
        public string Genre { get; set; }
        public decimal Price { get; set; }
    }
    public class MovieDBContext : DbContext
    {
        public DbSet< movie> Movies { get; set; }
    }
}

در واقع نیازی به افزودن connection string، MovieDBContext نیست. در صورت مشخص نکردن connection string، EF خود یک پایگاه داده ی LocalDB به همراه اسم کامل کلاس DbContext (در این مورد MvcMovie.Models.MovieDBContext) در پوشه ی users ایجاد می کند. می توانید اسم پایگاه داده را مطابق میل خود انتخاب کنید مادام اینکه دارای پسوند .MDF باشد. به عنوان مثال می توان اسم پایگاه داده ی مورد نظر را MyFilms.mdf انتخاب کرد.


1394/08/05 29777 4781
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...