zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    C# 一个用到WPF 和 反射的例子.
    Html 效果之 A 标签.
    HttpModule 的权限管理
    C# 入门经典示例.
    CSS 圆角边框
    .NET 平台文件去除行号
    C#调用WinApi关闭电脑屏幕含自动监视有无输入活动检测
    还是XP好啊
    SQL执行效率测试语句
    自用SqlHelper
  • 原文地址:https://www.cnblogs.com/anbylau2130/p/3529418.html
Copyright © 2011-2022 走看看