Code First 创建数据库

最近在对以前学的知识做一个总结,EF 这块,Code First 是很重要的一部分,方便快捷创建模型。

 
Code First有两种配置方式
DataAnnatation:
 1  [Table("MyFirstTable")]
 2 public class Order
 3 {
 4  
 5 [Key]
 6 [Required]
 7 public string OrderID { get; set; }
 8 public string CreateUserID { get; set; }
 9 public OrderDetail OrderDetail { get; set; }
10 }

 

 
Flunt Api:
1  class BaseDBContext : DbContext
2 {
3 protected override void OnModelCreating(DbModelBuilder modelBuilder)
4 {
5 base.OnModelCreating(modelBuilder);
6 modelBuilder.Entity<Order>().ToTable("MyFirstTable"); //The same to the meaning
7 }
8 }

 

 
下面贴出DataAnnatation的实例。
1、新建MVC4项目,选择对应模板
 
 
2、创建实体模型,这里以订单和订单详情表为例。
 1   public class Order
 2     {
 3         [Key]
 4         [Required]
 5         public string OrderID { get; set; }
 6         public string CreateUserID { get; set; }
 7         public string OrderDetailID { get; set; }
 8 
 9         [ForeignKey("OrderDetailID")]
10         public OrderDetail OrderDetail { get; set; }
11     }
12 
13     public class OrderDetail
14     {
15         public string OrderDetailID { get; set; }
16         public string OrderID { get; set; }
17         public int Amount { get; set; }
18         [DataType(DataType.Currency)]
19         public decimal CountPrice { get; set; }
20     }

 

3、创建实体上下文
1     public class TestDbContext : DbContext
2     {
3         public TestDbContext() : base("Default") { }
4 
5         public DbSet<Order> Orders { get; set; }
6 
7         public DbSet<OrderDetail> OrderDetails { get; set; }
8 
9     }

 

4、配置连接字符串
 <connectionStrings>
<add name="Default" connectionString="Data Source=.;Database=TestDB;Integrated Security=true;" providerName="System.Data.SqlClient"/>
</connectionStrings>

 

5、创建一个HomeController控制器
 1     public class HomeController : Controller
 2     {
 3         //
 4         // GET: /Home/
 5 
 6         public ActionResult Index()
 7         {
 8             var db = new TestDbContext();
 9            db.OrderDetails.ToList();
10             return View();
11         }
12 
13     }

 

6、最后执行Index方法,去数据库看看效果如何。
 
 
 
posted @ 2015-07-21 16:42  虔城墨客  阅读(348)  评论(0编辑  收藏  举报