EF框架之CodeFirst建立資料庫
CodeFirst是Entity Framework4.1後新增的一種生成模式,在這種方式下,你不需要在DBMS中建立資料庫,也無需在VS中畫實體模型了,你要做的僅僅是寫寫程式碼即可由ORM框架自動建立模型和資料庫,非常的方便和簡單(由於開發人員只是編寫程式碼,不關心資料庫的具體結構,因此也有人把這種方式叫做CodeOnly的).
下面就以一個簡單的例子演示一下如何使用CodeFirst生成資料庫.
一.新建一個專案並新增必要的引用.
二.編寫程式碼.
1在專案中新增兩個實體類和一個資料上下文類如下圖所示
它們對應的程式碼如下:
Customer類:
<span style="font-size:18px;">public class Customer
{
[Key ]//標識這是對應資料庫表的主鍵
public int Id { get; set; }
public string CusName { get; set; }
public virtual ICollection<OrderInfo> order { get; set; }
}</span>
OrderInfo類:
<span style="font-size:18px;">public class OrderInfo
{
[Key ]//標識這個屬性是資料表中的主鍵
public int Id { get; set; }
public string Content { get; set; }
/// <summary>
/// 外來鍵約束
/// </summary>
public int CustomerId { get; set; }
public Customer customer { get; set; }
}</span>
HotelDBContext類:
<span style="font-size:18px;">public class HotelDBContext:DbContext
{
public HotelDBContext()
:base("name=ConnCodeFirst")
{
}
public DbSet<Customer> customer { get; set; }
public DbSet<OrderInfo> orderInfo { get; set; }
}</span>
然後再配置檔案App.config中編寫資料庫的連線字串,程式碼如下:
<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<connectionStrings >
<add name ="ConnCodeFirst" connectionString ="server=.;uid=sa;pwd=123456;database=CodeFirstDemoDB" providerName ="System.Data.sqlclient"/>
</connectionStrings>
</configuration></span>
最後在控制檯應用程式的Program類中的主函式中建立資料庫,程式碼如下:
<span style="font-size:18px;"> class Program
{
static void Main(string[] args)
{
//例項化一個資料上下文物件
HotelDBContext dbcontext = new HotelDBContext();
//建立資料庫如果不存在的話
if (dbcontext.Database.CreateIfNotExists())
{
Console.WriteLine("資料庫已建立成功!");
Console.Read();
}
else {
Console.WriteLine ("資料庫已經存在,無需建立!");
}
}
}</span>
三.執行程式碼,生成資料庫
小結一下:CodeFirst相比較而言是一種比較簡潔的資料模型生成模式,它很好地支援了以程式碼為中心的設計理念,程式碼優先的開發使得開發流程更加的優美,這樣你的專案中可以說就不會再需要.edmx那種系統自動生成的DataModel了。
相關文章
- 使用EF 連線 資料庫 SQLserver、MySql 實現 CodeFirst資料庫ServerMySql
- EF CodeFirst系列(5)---FluentApiAPI
- .NET DDD 實戰專題一:前期準備之EF CodeFirst
- 資料庫之建立索引資料庫索引
- 【轉載】【EF Core】Code first 之使用新資料庫資料庫
- EntityFramework系列:SQLite.CodeFirst自動生成資料庫FrameworkSQLite資料庫
- EF Core連線PostgreSQL資料庫SQL資料庫
- 【EF Core】EFCore 8.0 -CodeFirst方式生成SQLite實體物件SQLite物件
- EF Core助力信創國產資料庫資料庫
- EF 中多個資料庫遷移資料庫
- Android精通之OrmLite資料庫框架,Picasso框架,Okio框架,OKHttp框架AndroidORM資料庫框架HTTP
- EF Code First Migrations資料庫遷移資料庫
- 建立資料庫資料庫
- MySQL 建立資料庫 建立表MySql資料庫
- EF3.1 根據資料庫生成程式碼資料庫
- EF框架基礎框架
- ASM之建立ASM例項及ASM資料庫ASM資料庫
- EF 查詢資料
- 建立資料庫表資料庫
- Mysql建立資料庫MySql資料庫
- 建立資料庫命令資料庫
- 手工建立資料庫資料庫
- 建立ASM資料庫ASM資料庫
- Laravel 建立資料庫Laravel資料庫
- ASP.NET Core使用EF Core操作MySql資料庫ASP.NETMySql資料庫
- 資料庫無法建立資料庫檢視資料庫
- OCP課程25:管理Ⅰ之使用DBCA建立資料庫資料庫
- 資料庫之建立表前的判斷處理資料庫
- 資料庫相關之精彩的ORM對映框架資料庫ORM框架
- mongodb 如何建立資料庫MongoDB資料庫
- 建立資料mysql庫流程MySql
- 手工命令建立資料庫資料庫
- 手動建立資料庫資料庫
- Oracle 手工建立資料庫Oracle資料庫
- 建立catalog 資料庫資料庫
- 建立oracle資料庫(1)Oracle資料庫
- 手工建立oracle資料庫Oracle資料庫
- 建立CATALOG資料庫。資料庫