برنامه های امروز وابستگی کاملی به پایگاه داده ها برای ذخیره سازی و دسترسی به داده ها دارد. شرکت مایکروسافت پایگاه داده SQL Server را برای استفاده آن در ادغام با برنامه های Dot Net معرفی کرده است. هر پایگاه داده ای که درون SQL Server ایجاد می کنید، شامل چندین فایل فیزیکی روی دیسک است که هر کدام دارای کاربرد ویژه ای هستند. این فایل ها را می توانیم به دو دسته Data File ها و Log File ها دسته بندی کنیم.

Data File ها، فایل هایی هستند که داده های جدول ها، نماها و دیکشنری (Dictionary) پایگاه داده را در خود و به صورت دائمی نگه می دارند. Log File  ها، فایل هایی هستند که تغییرات یا اثرات تراکنش های نهایی شده (Commited Transaction) ها را در خود نگه می دارند، زیرا برای بازیابی و ریکاوری (Restore and Recovery) پایگاه داده، لازم و ضروری هستند.

همچنین هر پایگاه داده دارای یک سری از فرایند های پس زمینه (Background Process) است که هر کدام مسئول انجام بخشی از فعالیت ها و عملکردهای پایگاه داده است. بنابراین برای نصب نرم افزار SQL Server و استفاده از آن در کنار داشتن یک سناریو، باید فضای دیسک و حافظه اصلی داشته باشیم. می توانیم برای یادگیری برنامه نویسی با Dot Net نرم افزار SQL Server را نصب کنیم ولی پیشنهاد می شود از ویژگی درون ویژوال استادیو به نام SQL Server LocalDB استفاده کنیم.

SQL Server LocalDB به هیچ عنوان تمامی ویژگی های نرم افزار SQL Server را ندارد اما هر SQL Server LocalDB دارای فایل هایی است که برای کارکرد پایگاه داده، لازم و ضروری هستند. درون برنامه های داده محور Dot  Net و برای اتصال به پایگاه داده، باید یک رشته اتصال ایجاد شود. رشته اتصال برای ارتباط با نرم افزار SQL Server شامل نام و گذرواژه ای است که مجوزهای لازم برای اجرای دستورهای SQL را بر روی پایگاه داده دارد، تعیین آدرس یا دامنه ای که به سروری اشاره می کند که SQL Server بر روی آن در حال اجرا شدن است، در کنار آدرس، باید شماره پورتی را مشخص کنید که SQL Server بر روی آن در حال گوش به درخواست های ورودی است. در نهایت باید نام پایگاه داده هدف نیز تعیین شده باشد.

رشته اتصال در LocalDB همانند بالا نیست، چون نرم افزار SQL Server به صورت مجزا نصب نشده است، پس سرور (ماشین) مجزایی وجود ندارد که بخواهیم آدرس و شماره پورت را تعیین کنیم. در واقع استفاده از LocalDB نیاز به فرایند و زمان نصب نرم افزار SQL Server و پیچیدگی های آن برای نگهداری از اجرا را حذف می کند و می توان از آن برای یادگیری برنامه نویسی و ارتباط و تعامل با داده ها استفاده کرد. در سازمان ها برنامه نویس ها و توسعه دهندگان گروهی جدا از مدیران و توسعه دهندگان پایگاه داده است.

به طور کلی LocalDB کمینه شده یک SQL Server است و ویژگی هایی مانند ایجاد کلاسترها (Clustering)، پیاده سازی سناریوی تکثیر داده ها (Data Replication) و ایجاد انبار داده ها (Data Warehouse) به منظور تحلیل و کسب دانش از داده ها را ندارد. می توانید به صورت دستی آنرا SQL Server downloads دانلود کنید. اما اگر در زمان نصب ویژوال استادیو ویژگی .NET desktop development را نصب کرده باشید، SQL Server LocalDB نیز نصب شده است.

ایجاد پروژه ASP.NET و پایگاه داده LocalDB درون پروژه NET Framework

برای این مطلب و در طول این دوره ما از ویژوال استادیو ۲۰۱۷ استفاده می کنیم. در این بخش می خواهیم تنها یک پایگاه داده LocalDB ایجاد کنیم. پیش از هر چیز شما باید یک پروژه را از پیش آماده و ایجاد شده داشته باشید. برای این مطلب و در ادامه برای آموزش خود Entity Framework پروژه ساده کنسولی (Net Console) را ایجاد می کنیم، پس برابر با تصویرهای زیر نخست یک پروژه ساده کنسولی ایجاد کنید.

پس از ایجاد کردن پروژه باید مطابق شکل های زیر نخست روی نام پروژه راست کلیک کرده و سپس از منو Add باید New Item را انتخاب کنید. سپس باید از پنجره Add New Items از سمت چپ و از بخش #Visual C، زیر Data را انتخاب و از سمت راست باید الگوی Service-Based Database را انتخاب کنید و سپس باید یک نام را برای پایگاه داده انتخاب کنید. پس از کلیک روی دگمه Add پایگاه داده درون پروژه مربوطه ایجاد خواهد شد.

شکل زیر نشان می دهد که پایگاه داده LocalDB به نام SampleLocalDB درون پروژه ایجاد شده است. توجه کنید در محیط ویژوال استادیو، هر Solution دارای یک تا چندین زیر پروژه می تواند باشد. ولی در هر لحظه تنها یکی از چندین پروژه می تواند فعال و قابل اجرا شدن باشد. برای اینکه پروژه ای را به عنوان پروژه پیش فرض و برای اجرا شدن انتخاب کنیم، باید روی نام پروژه راست کلیک و سپس as def

راهنمای سایت مایکروسافت ایجاد Solution و پروژه (Project) در ویژوال استادیو ۲۰۱۷

اگر روی نام پایگاه داده (در اینجا SampleDatabase.mdf) دوبار کلیک کنید، در سمت چپ ویژوال استادیو پنل تازه ای به نام Server Explore باز می شود و برابر با شکل زیر می بنید که می توانید اشیا متفاوت مانند جدول را درون آن ایجا کنید. به طور نمونه اگر می خواهید جدول ایجاد کنید، باید روی پوشه Table راست کلید کرده و سپس گزینه Add Table را انتخاب کنید تا در ویژوال استادیو پنجره جدیدی به صورت ویژوالی برای ایجاد جدول بار شود.

اگر بر روی نام پایگاه داده کلیک کنید، در پنل پایینی (Properties) برابر با شکل زیر خصوصیت های متفاوت پایگاه داده نشان داده می شود. Name محل ذخیره سازی پایگاه داده، Connection String رشته اتصال به پایگاه داده و Provider فراهم کننده داده را مشخص می کنند. مهمترین خصوصیت Connection String است که از آن درون Entity Framework برای اتصال به پایگاه داده استفاده می شود.