首页 > 其他 > 详细

Entity Framework基础—第六篇(Code First)

时间:2015-03-27 10:46:54      阅读:120      评论:0      收藏:0      [点我收藏+]

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

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();
    }
}

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

技术分享

Entity Framework基础—第六篇(Code First)

原文:http://www.cnblogs.com/wangxiaojian/p/4370863.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!