EF-CodeFirst模式

举报
清雨小竹 发表于 2022/09/25 02:16:22 2022/09/25
【摘要】 查看更新SQL:在 Package Manager Console 中运行命令 Update-Database -Script -SourceMigration: $InitialDatabase model中使用枚举类型,查询结果返回枚举的字符串 [Newtonsoft.Json.JsonConver...

查看更新SQL:在 Package Manager Console 中运行命令 Update-Database -Script -SourceMigration: $InitialDatabase

model中使用枚举类型,查询结果返回枚举的字符串


  
  1. [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
  2. 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类

   


  
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel.DataAnnotations;
  4. using System.ComponentModel.DataAnnotations.Schema;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace TestEFCodeFirst.Model
  9. {
  10. [Table("yf_Order")]
  11. public class Order
  12. {
  13. public int Id { set; get; }
  14. [StringLength(50)]
  15. public string OrderNo { set; get; }
  16. public int UserId { set; get; }
  17. [ForeignKey("UserId")]
  18. public virtual User User { set; get; }
  19. }
  20. }

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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。