• EF基础篇-Code First


    Code First 通过代码反向生成数据库,无需关心数据库方面

    1 新建一个控制台项目

    2 打开NuGet程序包管理,添加EntityFramework

    添加完成后查看是否有如下两个引用

    3 代码编写及配置

    新建Goods类

    1  class Goods
    2     {
    3         [Key]
    4         public int GID { get; set; }
    5         public string GName { get; set; }
    6         public int GPrice { get; set; }
    7         public int Shelf_SID { get; set; }
    8     }
    View Code

    新建Shelves

    1 class Shelves
    2     {
    3         [Key]
    4         public int SID { get; set; }
    5         public string SPosition { get; set; }
    6         public string SName { get; set; }
    7     }
    View Code

    新建上下文SaleContext

    1  class SaleContext: DbContext
    2     {
    3         public SaleContext(): base("name=SaleMarket")
    4         {
    5         }
    6 
    7         public virtual DbSet<Goods> Goods { get; set; }
    8         public virtual DbSet<Shelves> Shelf { get; set; }
    9     }
    View Code

    App.config中添加数据库连接

    1 <connectionStrings>
    2         <add name="SaleMarket" connectionString="data source=IP;initial catalog=SaleMarket;User Id=sa;Password=******" providerName="System.Data.SqlClient"/>
    3     </connectionStrings>
    View Code

    4 数据库创建及实例操作

     1            using (var smContext=new SaleContext())
     2             {
     3                 if (smContext.Database.CreateIfNotExists())
     4                 {
     5                     Console.WriteLine("创建成功");
     6                 }
     7                 else
     8                 {
     9                     Console.WriteLine("数据库已存在");
    10                 }
    11                 //CRUD
    12                 List<Shelves> s1 = new List<Shelves>
    13                 {
    14                     new Shelves
    15                     {
    16                         SID=1,
    17                         SName="糖果区",
    18                         SPosition="1L-09N",
    19                         
    20                     },
    21                     new Shelves
    22                     {
    23                         SID=2,
    24                         SName="瓜子区",
    25                         SPosition="1L-08N",
    26                         
    27                     }
    28                 };
    29                 List<Goods> g1 = new List<Goods>
    30                 {
    31                     new Goods
    32                     {
    33                         GID=1,
    34                         GName="大白兔",
    35                         GPrice=16,
    36                         Shelf_SID=1
    37                     },
    38                     new Goods
    39                     {
    40                          GID=2,
    41                          GName="巧克力",
    42                          GPrice=32,
    43                          Shelf_SID=1
    44                     },
    45                     new Goods
    46                     {
    47                         GID=3,
    48                         GName="焦糖味",
    49                         GPrice=15,
    50                         Shelf_SID=2
    51                     },
    52                     new Goods
    53                     {
    54                         GID=4,
    55                         GName="原味",
    56                         GPrice=12,
    57                         Shelf_SID=2
    58                     },
    59                     new Goods
    60                     {
    61                         GID=5,
    62                         GName="五香味",
    63                         GPrice=10,
    64                         Shelf_SID=2
    65                     }  
    66                 };
    67                 smContext.Shelf.AddRange(s1);
    68                 smContext.Goods.AddRange(g1);
    69                 smContext.SaveChanges();
    70                 var p = smContext.Goods.Join(smContext.Shelf, g => g.Shelf_SID, s => s.SID, (g, s) => new { g.GName,g.GPrice,s.SName,s.SPosition }).Where(gs=>gs.GPrice>16);
    71                 foreach (var item in p)
    72                 {
    73                     Console.WriteLine($"{ item.GName}在{item.SPosition}的{item.SName},价格是{item.GPrice}");
    74                 }
    75             }
    76             Console.ReadKey();        
    View Code

    打开数据库查看,数据库已创建

    结果显示

  • 相关阅读:
    robotframework eclipse Robot Reference libraries不显示(selenium library无法导入)问题解决办法
    Navicat_Keygen_Patch 5.6如何使用
    电子标签拣货系统DPS
    matplotlib中的bar图
    Windows 10 清除文件
    npm包的上传npm包的步骤,与更新和下载步骤
    深入理解JWT的使用场景和优劣
    关于Vue.js去掉#号路由
    关于sklearn中的导包交叉验证问题
    python函数作用域
  • 原文地址:https://www.cnblogs.com/arvinzd/p/14312844.html
Copyright © 2020-2023  润新知