【问题标题】:Entity Frameworks auto code generation and validation实体框架自动代码生成和验证
【发布时间】:2015-11-24 20:57:11
【问题描述】:

我正在尝试学习实体框架。我有一个数据库,但它还不完整,所以我将来会在我的数据库和模型中添加字段。我可以轻松地做到这一点,并且实体框架会相应地更新类代码。问题是,例如我将这一行添加到代码中:

[Required()]

于是就变成了这样:

[Required()]
public string BranchName { get; set; }

向数据库和我的模型添加新字段后,此代码会再次生成,而我包含的部分会消失。这是有道理的,代码上方有一个巨大的警告,上面写着 Auto Generated 但我需要以某种方式处理它。我想使用验证码,但我也想向数据库添加新字段(显然)。

我可以手动将我的新字段添加到类中,但如何禁用自动代码生成?如果有其他方法我也不想这样做,因为我会非常频繁地更改我的模型,如果有这么多新领域会很难。

希望我足够清楚,谢谢。

【问题讨论】:

  • 你到底有什么问题?!
  • @SirwanAfifi 好​​吧,我基于我的数据库创建了一个模型,我向类添加了一些验证代码,在我更改我的模型后,Entity Framework 重新生成了这些类,因此我的代码消失了。我想解决这个问题。
  • 您可以使用实体框架代码优先工程。
  • @Oluwafemi 我也想用设计器,有没有办法禁用自动代码生成?
  • stackoverflow.com/questions/13074468/… 这可能会有所帮助。

标签: c# asp.net database entity-framework visual-studio


【解决方案1】:

我不知道向自动生成的类添加数据注释的任何方法。

覆盖行为是设计器方法的问题(不仅我相信而且现在想不起任何其他问题)。因此 EF7 将仅首先支持代码,因为它是一种更干净、更安全的方法,因为您的类不会被覆盖。

因此,您必须首先使用代码来满足您的需求。

如果您仍想使用设计器,您可以尝试另一种工具,该工具可以向您显示数据库的实时视图(我认为它被称为 SQL Server Express),它可以为您提供相同的视图)

【讨论】:

  • 是时候先学代码了。我才刚刚开始,所以现在是学习的好时机。感谢大家的帮助。
  • 是的,我正在使用代码,但似乎我需要添加更多代码,例如 [Key] 等...
猜你喜欢
  • 2012-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多