【问题标题】:How to control DataAnnotations when using Scaffold-DbContext?使用 Scaffold-DbContext 时如何控制 DataAnnotations?
【发布时间】:2021-04-11 19:12:03
【问题描述】:

这很好可能是重复的。如果是这样,没问题,但我没有找到我真正需要的东西。

我正在使用这个命令:

Scaffold-DbContext "Server=blab blah blah" Microsoft.EntityFrameworkCore.SqlServer -OutputDir DataModels -DataAnnotations -force

这行得通,但我想对创建哪些数据注释进行一些控制。特别是,每次我有一个 DateTime 列时,我都会得到:

[Column(TypeName = "datetime")]
public DateTime? LastUpdated { get; set; }

我不需要这个注释。事实上,它给我带来了问题。我真正唯一需要的是:[Key]

我确信这是可能的,但我没有找到它。

【问题讨论】:

  • 事实上,它给我带来了问题。 - 到底是什么问题??
  • @ErikEJ,我正在使用 Dapper.SimpleCrud 进行数据访问。我正在使用您的 Power Tools 插件(和/或命令行提示符)从数据库中创建(逆向工程)模型。 Dapper.SimpleCrud 似乎不认识或不知道如何处理该数据注释。
  • @ErikEJ:我在这里发布了它:stackoverflow.com/questions/65588487/…

标签: c# entity-framework .net-core


【解决方案1】:

这是可能的,但很麻烦,您必须实现自己的 ICSharpEntityTypeGenerator 并通过设计时工厂将其挂钩到 Scaffold 命令中。

或者,如果我理解您的要求,您希望避免所有数据注释,除了 [Key],对吗?在这种情况下,我可以在 EF Core Power Tools 中实现它。随时在 GitHub 上发布功能请求。

【讨论】:

  • 男人本人的回答!我将发布该功能请求:)
  • 我们可以同时保留 dataAnnotation 和 FluentApi 吗?
  • 不,是其中之一
猜你喜欢
  • 2018-03-06
  • 1970-01-01
  • 2022-01-14
  • 2020-09-22
  • 2019-02-25
  • 1970-01-01
  • 2017-10-09
  • 2018-05-22
  • 1970-01-01
相关资源
最近更新 更多