【发布时间】:2010-11-11 15:23:51
【问题描述】:
我在一个项目中使用 ASP.NET MVC 和 ADO.NET 实体框架。我想通过部分类向我的实体添加验证逻辑。它的工作方式类似于使用 LINQ2SQL 的NerdDinner.com ASP.NET MVC Application 中所示。主要区别在于,我必须使用“OnPropertyChanging”事件而不是 LINQ2SQL 中的“OnValidating”。
这样做有一些问题: - “OnPropertyChanging”事件不是调用验证逻辑的最佳点,因为它总是触发,即使在创建调用默认构造函数时也是如此。这确实会导致严重的问题(不仅仅是性能问题)。 - 与 MVC 框架一起使用“EntityState.Detached”(我找不到任何其他方式)来确定是否需要验证实体时存在问题。因为实体在视图中显示期间会丢失其实体状态(因为在 POST 事件中会创建一个新实体对象而不是返回原始实体对象)。
我的问题是:有没有更好的方法向 ADO.NET 实体添加验证?我找不到任何使用向 ADO.NET 实体添加验证的实用方法的教程。
【问题讨论】:
标签: .net asp.net-mvc entity-framework validation