你的位置:首页 > ASP.net教程

[ASP.net教程]Entity Framework基础—第六篇(Code First)


废话不多说下面直接创建项目:

1.创建控制台应用程序

CodeFirst

2.创建实体类:

CodeFirst2

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引用如图所示:

CodeFirst3

4.创建上下文对象CodeFirstDbContext

image

这里需要添加EF的引用,最简单的方法就是你添加一个新的实体模型,创建完之后删了就行了,EF引用会自动添加

image

添加完把光标移动到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();
  }}

运行,自动生成数据库与表:

CodeFirst4