我正在使用 Nhibernate 3.3.1,我需要确保我的字符串列的长度都不会小于 15,即
我正在尝试检查 ModelMapper 的 AfterMapProperty/BeforeMapProperty 事件,但我知道 Length 属性是 PropertyMapper 类或其某些基类的私有。
我试图避免使用反射来访问私有属性来获取长度并检查它。
你能帮助我吗?
我正在使用 Nhibernate 3.3.1,我需要确保我的字符串列的长度都不会小于 15,即
我正在尝试检查 ModelMapper 的 AfterMapProperty/BeforeMapProperty 事件,但我知道 Length 属性是 PropertyMapper 类或其某些基类的私有。
我试图避免使用反射来访问私有属性来获取长度并检查它。
你能帮助我吗?
您可以使用该check
属性来实现这一点。在您的映射文件中,您需要定义如下内容:
<property name="Foo" type="string">
<column name="foo" check="DATALENGTH(foo) > 15"/>
</property>
这将创建一个检查约束。我不太确定 DATALENGTH 方法,但您可以确认..
请参阅此处的 NH 文档第 20.1.1 节:http: //nhibernate.info/doc/nh/en/index.html