https://stackoverflow.com/questions/2152052
题
使用实体框架时实现 xVal 的最佳方法是什么?我一直在使用 这 方法,但我想知道是否有更好的方法。
我也想知道是否有一种方法可以在不引发异常的情况下做到这一点。
解决方案
元数据方法效果很好,但我使用的方法是拥有一组单独的 ViewModel 对象并使用类似的工具 自动映射器 从 EF 对象映射到 ViewModel 对象。(在更复杂的实现中,EF 对象和 ViewModel 对象之间有一个单独的域模型。)
如果您实现存储库模式来检索 ViewModel 对象,它也会使测试控制器变得更加容易。
然后,您可以将 ViewModel 对象归因于您的心意,而不必担心代码生成会覆盖您的属性。也可以使用其他验证方法(例如 流利验证),因为这些可以与 xVal 一起顺利工作。