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 @   虔城墨客  阅读(351)  评论(0编辑  收藏  举报
编辑推荐:
· ASP.NET Core - 日志记录系统(二)
· .NET 依赖注入中的 Captive Dependency
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
阅读排行:
· 终于决定:把自己家的能源管理系统开源了!
· C#实现 Winform 程序在系统托盘显示图标 & 开机自启动
· 了解 ASP.NET Core 中的中间件
· 实现windows下简单的自动化窗口管理
· 【C语言学习】——命令行编译运行 C 语言程序的完整流程
点击右上角即可分享
微信分享提示