我在数据库第一个场景中,所以EF从现有数据库生成实体类,我的数据库中的表有许多检查约束,验证插入/更新的值是否符合特定条件,我的问题是EF不会为这些约束生成任何代码,因此仅在数据库中检查这些约束。我想要的是从生成的类中进行这些验证,这样如果出现错误,就会在不进入数据库的情况下引发错误。
我知道我可以为我的模型修改T4模板,所以我将我的约束添加到生成的类中,但是我将编写的任何代码都将根据约束代码的模板为每个特定的表进行硬编码,我需要的是一个解决方案,使生成适应约束代码的任何形状或模板。 为了解释更多,这里有2个我有2个不同约束的样本:
([ADT_OPT_UPD]>=(0) AND [ADT_OPT_UPD]<=(2))
([INS_USR]>=(0))
这是我在我的数据库中有两个约束的样本,并且通过添加更多的AND OR等可以变得更复杂,所以我需要一个适应任何检查约束模板的生成方法。 / p>
我正在考虑编写一个解析约束并生成等效C#代码的解析器,但是这样的解析器需要处理约束代码形状的所有可能情况,这对我来说太过分了。现在做,因为我没有时间。那么有没有其他解决方案,如果这是唯一的方法,是否有任何工具或库可以帮助我完成这项任务?