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

原文地址:https://www.cnblogs.com/wangxiaojian/p/4370863.html