Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NHibernate和Sharp体系结构中的一个位置,用于指定数据库和验证的字段长度_Nhibernate_Fluent Nhibernate_S#arp Architecture - Fatal编程技术网

NHibernate和Sharp体系结构中的一个位置,用于指定数据库和验证的字段长度

NHibernate和Sharp体系结构中的一个位置,用于指定数据库和验证的字段长度,nhibernate,fluent-nhibernate,s#arp-architecture,Nhibernate,Fluent Nhibernate,S#arp Architecture,我正在用NHibernate构建一个新系统,使用S#arp架构。我不熟悉S#arp,但对NHibernate很有经验。我真的希望找到的一个特性是一种很好的方法,可以在一个地方指定文本字段的长度,这些长度可以传递到需要知道长度的每一层 换句话说,我使用Fluent映射指定Whatsis对象的名称字段为50个字符。(我关闭了自动映射,因为我仍然在为大多数(如果不是所有)类编写映射覆盖。我决定自己用ClassMap编写完整的映射。我希望映射中有足够的细节,以便从中生成完整的DB模式。)然后,当我使用h

我正在用NHibernate构建一个新系统,使用S#arp架构。我不熟悉S#arp,但对NHibernate很有经验。我真的希望找到的一个特性是一种很好的方法,可以在一个地方指定文本字段的长度,这些长度可以传递到需要知道长度的每一层

换句话说,我使用Fluent映射指定Whatsis对象的名称字段为50个字符。(我关闭了自动映射,因为我仍然在为大多数(如果不是所有)类编写映射覆盖。我决定自己用
ClassMap
编写完整的映射。我希望映射中有足够的细节,以便从中生成完整的DB模式。)然后,当我使用hbm2ddl生成数据库模式时,我得到一个50个字符的字段长度。太好了。但我也希望MVC验证器自动执行它。我是如此贪婪,我甚至希望NHibernate生成的代理对象在其setter中知道长度,因此如果在代码中我应该分配太长的值,我将得到一个异常

我是否有希望在不使我的项目过于复杂的情况下实现这一点?这是我第一次使用Fluent映射。我原以为这是Fluent的一个功能,但看起来它毕竟不是这样工作的。

您需要使用它,因为这是NHibernate hbm2ddl当前支持的唯一验证程序框架。不幸的是,似乎没有人将NHibernate验证程序和MVC3验证连接在一起。这里有其他人对此有问题:


这应该是可能的,就像我过去使用的(MVC3验证器的前身)一样,使用NHibernate验证器属性进行客户端验证、服务器端验证和模式生成。有人只需要投资一些TLC,就可以让NHibernate验证器与MVC3验证器很好地配合使用。

过去我在MVC中使用这种方法访问NHibernate实体验证-我想我把NHibernate验证器项目和流畅的NHibernate混为一谈了。我知道我以前在什么地方读过这方面的东西;我只是觉得它在流畅的项目中。谢谢