使用NHibernate轻松获得字段长度限制的方法

时间:2010-11-10 20:16:17

标签: c# nhibernate

我需要限制一些文本框的输入长度。我想将它们链接到数据库长度限制,以防DBA决定直接在数据库中增加最大长度。

任何人都知道如何做到这一点?

3 个答案:

答案 0 :(得分:2)

看看NHibernate.Validator。

此系统允许您通过属性或XML为实体添加限制。之后可以在您的界面中检索和使用此信息。

一些阅读材料:

答案 1 :(得分:2)

我不确定使用NHibernate是否可行。据我所知,NHibernate可用于创建数据库,但它无法从数据库中读取表属性。换句话说,它将假设表格的设置方式与您在映射中声明它们的方式相同,然后在出现问题时进行投诉。

正如Pieter所说,您可以使用 NHibernate Validator 来强制对模型进行约束。如果基础数据库发生了变化,您仍然需要手动更改约束。

答案 2 :(得分:2)

使用T4 template从表架构中读取长度并自动注入映射或NHibernate验证器。

这是一些工作,但如果您担心DBA经常更改架构,那么这就是要走的路。

或者,如果这工作太多,则可以编写单元测试,将模式中的长度与映射的长度进行比较。如果DBA更新架构但映射未正确更新,这些将中断。然后,当您的单元测试中断时,您知道要更改代码。

相关问题