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方法,去数据库看看效果如何。
标签:
EF
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· ASP.NET Core - 日志记录系统(二)
· .NET 依赖注入中的 Captive Dependency
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
· 终于决定:把自己家的能源管理系统开源了!
· C#实现 Winform 程序在系统托盘显示图标 & 开机自启动
· 了解 ASP.NET Core 中的中间件
· 实现windows下简单的自动化窗口管理
· 【C语言学习】——命令行编译运行 C 语言程序的完整流程