مشخصات مقاله
-
4716
-
0.0
-
7254
-
0
-
0
آموزش مقدار دهی و قالب بندی بانک اطلاعاتی
آموزش مقدار دهی و قالب بندی بانک اطلاعاتی
اکنون مشاهده خواهیم کرد که چگونه یک پایگاه داده در code-first application را راه اندازی می کنیم.
شکل زیر یک فرآیند راه اندازی پایگاه داده را نشان می دهد که براساس پارامترهای ارسال شده به base constructor از کلاس Context که خود نیز از DbContext مشتق گرفته است.

مطابق شکل بالا شما می توانید پارامترهای زیر را به base constructor ارسال کنید.
بدون پارامتر : اگر شما هیچ پارامتری را ارسال نکنید، پایگاه داده را در SQLEXPRESS محلی تان با اسمی که مطابق {Namespace}.{Context class name}. است، ایجاد می کند برای مثال SchoolDataLayer.Context
public class Context: DbContext
{
public Context(): base()
{
}
}
Name : اگر شما پارامتر Name را ارسال کنید پایگاه داده را در local SQLEXPRESS db server با همان اسم ارسال شده ایجاد می کند. برای مثال قطعه کد زیر یک پایگاه داده با اسم "SchoolDB-CodeFirst" را ایجاد می کند.
public class Context: DbContext
{
public Context(): base("SchoolDB-CodeFirst")
{
}
}
ConnectionStringName : اگر شما اسم connection string را از app.config یا web.config ارسال کنید، پایگاه داده را با همان connection string ایجاد می کند. برای مثال قطعه کد زیر یک پایگاه داده "SchoolDB-ByConnectionString" را ایجاد می کند.
public class Context: DbContext
{
public SchoolDBContext() : base("SchoolDBConnectionString")
{
}
}
App.config:
< /configuration>
< /connectionstrings>
< /add name="SchoolDBConnectionString" =
= connectionstring="Data Source=.;Initial Catalog=SchoolDB-ByConnectionString;Integrated Security=true" =
= providername="System.Data.SqlClient" />
کلاس Context بالا یک اسم connection string به عنوان پارامتر ارسال می کند. بنابراین پایگاه داده "SchoolDB-ByConnectionString" را ایجاد کرده یا از پایگاه داده موجود "SchoolDB-ByConnectionString" در SQL Server استفاده می کند(زیرا ما "." در SQLEXPRESS ذکر نکردیم). مطمئن شوید که شما providerName = "System.Data.SqlClient" را در connection string نوشته اید.