【问题标题】:Modify Getter and Setter with Database First Approach使用数据库优先方法修改 Getter 和 Setter
【发布时间】:2012-08-23 05:47:37
【问题描述】:

我目前正在学习带有实体框架的 ASP.Net MVC 3,并想知道是否有办法修改使用数据库优先方法生成的模型类的 getter 和 setter。比如说,我想在模型的 getter 和 setter 中清理 HTML,以确保没有无效代码保存在数据库中。最好的方法是什么?

之前谢谢。

【问题讨论】:

  • 我认为最好在填充模型之前在代码中执行此操作
  • @四十二:你是什么意思?我从空数据库生成代码,因此我可以轻松实现模型,但看起来我无法覆盖 getter 和 setter……你的意思是我可以在生成模型之前做一些事情吗?
  • 嗯,你说的目的是“确保没有无效代码保存在数据库中”。我会在模型之外处理它,而不是在 getter 和 setter 中处理,无论它是否真的可能。在生成模型之前您不需要这样做,只需在保存之前通过一些验证逻辑推送数据。

标签: asp.net-mvc-3 entity-framework ef-database-first


【解决方案1】:

您将需要使用您的自定义验证例程。该类将自动填充,由您决定它是否有效。

使用 IValidateableObject 或重写 ValidateEntity 方法来处理您自己的验证。

请参阅 Julie 的文章: http://msdn.microsoft.com/en-us/data/gg193959.aspx

【讨论】:

    【解决方案2】:

    在 edmx 图中,您可以编辑一个属性的属性,其中之一是访问修饰符:

    【讨论】:

    • 这个答案实际上帮助解决了我的问题 - 我将 setter 设置为私有,并在部分类中创建了一个方法来用我需要的额外逻辑填充属性。 (我将把逻辑放在非自动生成类的设置器中。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    相关资源
    最近更新 更多