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#中 @ 的用法
    ASP.NET页面间传值
    ASP.NET中常用的文件上传下载方法
    把图片转换为字符
    把图片转换为字符
    JavaScript 时间延迟
    Using WSDLs in UCM 11g like you did in 10g
    The Definitive Guide to Stellent Content Server Development
    解决RedHat AS5 RPM安装包依赖问题
    在64位Windows 7上安装Oracle UCM 10gR3
  • 原文地址:https://www.cnblogs.com/anbylau2130/p/3529418.html
Copyright © 2011-2022 走看看