EF-CodeFirst模式
查看更新SQL:在 Package Manager Console 中运行命令 Update-Database -Script -SourceMigration: $InitialDatabase
model中使用枚举类型,查询结果返回枚举的字符串
  
   - 
    
     
    
    
     
      [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
     
    
 
   - 
    
     
    
    
     
      public InterViewState state { set; get; }
     
    
 
  
 
数据字典类中,如果有枚举类型并且希望序列化后的json中显示的是枚举的名称,需要在字段上加上:[JsonConverter(typeof(StringEnumConverter))]
例如:
[JsonConverter(typeof(StringEnumConverter))]
 public EnumCarStockState stockState { get; set; }
1.添加Newtonsoft.Json
2.添加MySql EF支持
3.开发Model类
  
   - 
    
     
    
    
     
      using System;
     
    
 
   - 
    
     
    
    
     
      using System.Collections.Generic;
     
    
 
   - 
    
     
    
    
     
      using System.ComponentModel.DataAnnotations;
     
    
 
   - 
    
     
    
    
     
      using System.ComponentModel.DataAnnotations.Schema;
     
    
 
   - 
    
     
    
    
     
      using System.Linq;
     
    
 
   - 
    
     
    
    
     
      using System.Text;
     
    
 
   - 
    
     
    
    
     
      using System.Threading.Tasks;
     
    
 
   - 
    
     
    
    
      
     
    
 
   - 
    
     
    
    
     
      namespace TestEFCodeFirst.Model
     
    
 
   - 
    
     
    
    
     
      {
     
    
 
   - 
    
     
    
    
     
          [Table("yf_Order")]
     
    
 
   - 
    
     
    
    
         public class Order
     
    
 
   - 
    
     
    
    
     
          {
     
    
 
   - 
    
     
    
    
             public int Id { set; get; }
     
    
 
   - 
    
     
    
    
      
     
    
 
   - 
    
     
    
    
     
              [StringLength(50)]
     
    
 
   - 
    
     
    
    
             public string OrderNo { set; get; }
     
    
 
   - 
    
     
    
    
      
     
    
 
   - 
    
     
    
    
             public int UserId { set; get; }
     
    
 
   - 
    
     
    
    
      
     
    
 
   - 
    
     
    
    
     
              [ForeignKey("UserId")]
     
    
 
   - 
    
     
    
    
             public virtual User User { set; get; }
     
    
 
   - 
    
     
    
    
     
          }
     
    
 
   - 
    
     
    
    
     
      }
     
    
 
  
 
 
4.在DbContext中关联Model
  
5.数据迁移
<1>添加DbContext数据迁移支持
[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
        
<2>工具——NuGet包管理器——程序包管理器控制台
1>Enable-Migrations
2>Add-Migration xxx
3>Update-Database
<3> 获取数据库更改sql脚本
得到SQL脚本
如果其它开发人员也希望在他们自己的机器上拥有这些更改,他们只需在我们 check in 代码至 source control 的时候做一次同步即可,一旦他们拥有了这些迁移,只需运行命令 Update-Database 就可以把这些更改应用于本地。但是如果我们想把这些更改推送至测试服务器或生产服务器,我们也许需要一份 SQL 脚本提供给 DBA
- 在运行 Update-Database 的时候指定 -Specify 标记,我们就能够使得这些更改被写入一个脚本中而不是被应用,我们同时也会为此脚本指定源迁移和目标迁移,例如我们希望产生的脚本是从一个空数据库($InitialDatabase)到最新的版本(AddPostAbstract 迁移);(注意:如果你没有指定目标迁移,那么迁移将始终更新至最新版本;如果你没有指定源迁移,那么迁移将以数据库目前状态为初始)
 - 在 Package Manager Console 中运行命令 Update-Database -Script -SourceMigration: $InitialDatabase
 
文章来源: zzzili.blog.csdn.net,作者:清雨小竹,版权归原作者所有,如需转载,请联系作者。
原文链接:zzzili.blog.csdn.net/article/details/52242570
- 点赞
 - 收藏
 - 关注作者
 
            
           
评论(0)