EF--CodeFirst

1,增加EntityFramework的引用

2,创建实体类

  public class Invoice
    {
        public Invoice()
        {
            LineItems = new List<LineItem>();
        }

        public int ID { get; set; }
        public DateTime InvoiceDate { get; set; }
        public double Total { get; set; }
        public virtual ICollection<LineItem> LineItems { get; set; }  //virtual表示演示加载
    }


    public class LineItem
    {
        public int ID { get; set; }
        public string ProductName { get; set; }
        public double ItemCost { get; set; }
        public double Units { get; set; }
        public Invoice Invoice { get; set; }
    }

3,从DBContext中继承下来

 ///// <summary>
       ///// EF策略
       ///// </summary>
       //public Accounting()
       //    : base("Accounting")
       //{
       //    //CreateDatabaseIfNotExists这是默认的策略。如果数据库不存在,那么就创建数据库。但是如果数据库存在了,而且实体发生了变化,就会出现异常。
       //    Database.SetInitializer<Accounting>(new CreateDatabaseIfNotExists<Accounting>());
       //    //DropCreateDatabaseIfModelChanges:此策略表明,如果模型变化了,数据库就会被重新创建,原来的数据库被删除掉了。
       //    // DropCreateDatabaseAlways:此策略表示,每次运行程序都会重新创建数据库,这在开发和调试的时候非常有用。
       //}

        public DbSet<Invoice> Invoices { get; set; }
        public DbSet<LineItem> LineItems { get; set; }

4,配置链接字符串

  <connectionStrings>
    <add name="Accounting" connectionString="Server=.;DataBase=Accounting;uid=sa;pwd=123;" providerName="System.Data.SqlClient" />
  </connectionStrings>

5,运行主程序代码

             using (var db = new Accounting())
            {
                //向数据库添加记录
                var Inv = new Invoice() { ID = 1, InvoiceDate =DateTime.Now, Total=1 };
                db.Invoices.Add(Inv);

                //保存记录,返回受影响的行数
                int recordsAffected = db.SaveChanges();
                Console.WriteLine("追加{0}记录成功", recordsAffected);
            }

6,查看数据库中的表结构已经出来了

详细介绍:Entity Framework 5.0 Code First全面学习

http://blog.csdn.net/gentle_wolf/article/details/14004345#t2

原文地址:https://www.cnblogs.com/anbylau2130/p/3529418.html