实体框架验证

Mic*_*cah 16 .net c# validation entity-framework

我正准备开始一个新项目,我一直在研究实体框架.我的问题是验证实体的最佳策略是什么?我参与过的其他项目在大多数验证中使用了属性,但显然这在实体框架中是不可能的.是通过处理属性设置器中的部分方法来实现此目的的唯一方法吗?所有建议都非常感谢.

sma*_*ell 11

我之前没有实际使用过Entity框架,但是快速搜索表明你有几个选项.

1)在应用程序的另一层验证

总是一个选项,我只是认为我会明确地把它扔出去.

2)挂钩实体的OnChanged事件然后执行验证

如果你有许多不同的属性可以改变每个实体,可能会很脆弱并且会变得混乱/缓慢.

3)实现部分方法以验证属性更改

根据这篇文章和演练,有部分方法可用于验证.这似乎是您最好的选择,因为它不是非常具有侵入性,您可以有选择地实现您想要的验证.

我希望有所帮助.祝好运.

  • 我分别将#2和#3作为实体和属性级验证.当然,这两种策略有不同的用途:实体级验证测试所有属性的有效性(例如,互斥属性不是都设置),而属性级验证仅考虑单个属性的内容.时间(例如,电子邮件地址的格式正确). (3认同)

Shi*_*mmy 6

在.NET 4中,Entity-Framework中将提供开箱即用的验证支持.

查看:http://blogs.msdn.com/adonet/archive/2010/01/13/introducing-the-portable-extensible-metadata.aspx

因此,不要努力实现过于复杂的验证逻辑......