如何使用大规模ORM实现验证

本文关键字:实现 验证 ORM 大规模 何使用 | 更新日期: 2023-09-27 18:01:32

我喜欢Rails,所以我被Rob Conery的Massive ORM所吸引,因为它…好吧,很无聊。

我的问题是,你究竟可以和应该如何使用Massive进行验证?在Rails中,您可以使用简单的"validates"关键字来执行内联验证和/或引用要调用的方法…以及定义何时进行验证的能力(例如,仅用于创建,在保存之后,等等…)。

是这样的Rails启发验证与大规模可用?如果有,推荐的方法是什么?

Thanks much -wg

如何使用大规模ORM实现验证

我今天也在想同样的事情,我仍然没有一个令人满意的答案,但我确实找到了Tekpub MVC 3系列的样本代码,该系列最近被推送到Github,并使用Massive进行数据访问-

https://github.com/tekpub/mvc3

这个类包含一些针对视图模型的DataAnnotation验证,据我所见,没有一个'domain'类包含任何验证。

根据GitHub上的ReadMe,验证最近被添加到Massive

对于Asp.net MVC,最推荐的方法是使用DataAnnotations或FluentValidations进行验证。如果你在谷歌上搜索这些术语,那里有大量的知识。

Us Seesharpies更喜欢不针对数据库模型进行验证,这样我们就可以有一个清晰的关注点分离。验证数据库模型并不是"错误的",但是由于静态和编译语言的刚性,其他替代方法就没有那么大的意义了。

我不会对Massive进行验证。对于我的领域模型,我有使用DataAnnotations的"命令"dto。我的域对象根据它们进行验证,然后使用"域事件"模式将更改发布到聚合中。

这就是我将使用massive的地方-侦听我的域的订阅者将处理被提出的事件dto,并使用它们通过massive更新数据库。然后我的视图模型将使用massive来查询数据库。

我一直在使用EF 4.1,我厌倦了映射命令->事件->视图模型/dto。我将使用massive这样我就不用再定义view model/dto了

进行验证与使用EF进行验证没有什么不同。这是对上述答案的一个评论。

如果您熟悉DataAnnotations,那么您就知道如何进行验证。假设您有视图模型,然后向它们添加注释。在控制器中,您正在处理发生验证的视图模型。当验证后,你将这些传递给你的数据层,可以是海量的或其他的。

要清楚,您不是在验证实体,而是在验证视图模型。希望这是有意义的!我自己都看不懂,哈哈哈。