zoukankan      html  css  js  c++  java
  • 03—Code First

           Code First模式我们称之为“代码优先”模式,使用Code First模式进行EF开发时开发人员只需要编写对应的数据类(其实就是领域模型的实现过程),然后自动生成数据库。这样设计的好处在于我们可以针对概念模型进行所有数据操作而不必关系数据的存储关系,使我们可以更加自然的采用面向对象的方式进行面向数据的应用程序开发。
     
    下面开工了
    创建一个控制台应用程序,创建两个类Orders.cs和OrdersDetail.cs
        public class Orders
        {
            [Key]  //主键
            public int Id { get; set; }
            [StringLength(10)]  //长度
            public string OrdersCode { get; set; }
            public int CustomerID { get; set; }
            public System.DateTime CreateDate { get; set; }
            public virtual List<OrdersDetail> OrdersDetailList { get; set; }
        }
        public class OrdersDetail
        {
            [Key] //主键
            public int Id { get; set; }
            public int ProductID { get; set; }
            [StringLength(100)]//长度
            public string ProductName { get; set; }
            public string UnitPrice { get; set; }
            public int OrderId { get; set; }
            public virtual Orders Orders { get; set; }
        }

    下一步,通过NuGet安装EntityFramework。

     
    然后创建OrdersContext.cs
        public class OrdersContext : DbContext
        {
            public DbSet<Orders> Orders { get; set; }
            public DbSet<OrdersDetail> OrdersDetail { get; set; }
        }

    客户端调用

     class Program
        {
            static void Main(string[] args)
            {
                var d = DateTime.Now.Date.ToString("yyyyMM");
                var ord = new Orders
                {
                    OrdersCode = "100001",
                    CustomerID = 1,
                    CreateDate = DateTime.Now
                };
                using (var context = new OrdersContext())
                {
                    context.Orders.Add(ord);
                    context.SaveChanges();
                }
                Console.WriteLine("OK");
                Console.ReadLine();
            }
        }

    如果是第一次使用EF Code First的朋友一定会有疑问,我们没有进行任何数据库配置,增加了一条数据通过查询确实保存上了,那么我们的数据到底在哪呢?事实上如果用户不进行数据库配置EF默认会使用“.SQLEXPRESS”数据库实例,我就不截图了。
     
    下面我们使用自己的数据库,需要配置App.config,也就是数据库连接:
      <connectionStrings>
        <add name="OrdersContext" connectionString="Data Source=.;Database=OrdersDB;UID=sa;PWD=123456;" providerName="System.Data.SqlClient"></add>
      </connectionStrings>
    在次运行程序:

     
     
    好了完成,点击下载代码
     
     
  • 相关阅读:
    听说高手都用记事本写C语言代码?真的假的!
    面向监狱编程,就靠它了!日子是越来越有判头了!
    如何把安静的程序员逼成话唠!
    想要自学编程?一个B站远远不够!
    2021年,学习C++还香吗?(文末赠书)!
    JVM--分代收集理论和垃圾收集算法
    Redis面试题
    基于RT1052 Aworks 使能GPIO输入功能(六)
    基于RT1052 Aworks 使能GPIO输出功能(五)
    基于RT1052 Aworks 使能ADC功能(四)
  • 原文地址:https://www.cnblogs.com/itmu89/p/5384791.html
Copyright © 2011-2022 走看看