废话不多说下面直接创建项目:
1.创建控制台应用程序
2.创建实体类:
3.添加属性与导航属性:
public class UserInfo
{
public UserInfo() { OrderInfo = new HashSet<OrderInfo>(); }
[Key]
public int UserID { get; set; }//主键
public string UserName { get; set; } public virtual ICollection<OrderInfo> OrderInfo { get; set; }//导航属性 }
public class OrderInfo { [Key]
public int ID { get; set; } public string OrderContent { get; set; } public virtual UserInfo UserInfo { get; set; } }
添加Key引用如图所示:
4.创建上下文对象CodeFirstDbContext
这里需要添加EF的引用,最简单的方法就是你添加一个新的实体模型,创建完之后删了就行了,EF引用会自动添加
添加完把光标移动到DbContext 用快捷键Shift+Alt+f10 添加命名空间
模仿ModelFirst中上下文代码如下:
public class CodeFirstDbContext:DbContext { public CodeFirstDbContext() : base("name=ModelFirstKey") { } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();//去掉生成表名复数s } public DbSet<UserInfo> UserInfo{ get; set; } public DbSet<OrderInfo> OrderInfo { get; set; } }
5.配置App.config
<connectionStrings> <add name="ModelFirstKey" connectionString="server=.;uid=sa;pwd=123;database=CodeFirstDemoDB;" providerName="System.Data.SqlClient"/> </connectionStrings>
6.进行添加数据操作
static void Main(string[] args)
{
using(CodeFirstDbContext dbContext = new CodeFirstDbContext())
{
dbContext.Database.CreateIfNotExists();
UserInfo userInfo = new UserInfo();
userInfo.UserName = "xiaoyang";
dbContext.UserInfo.Add(userInfo);
dbContext.SaveChanges();
Console.ReadKey();
}
}
运行,自动生成数据库与表: