请 相信我,当我说我明白这不是“正确”的方式来做到这一点。在大型复杂遗留系统问题下提交此文件。
我们有表格描述OCR的文件数据。每种文档类型都有自己的表。每个表都是根据它期望的字段类型生成的。所以有一个看起来有点像这样的架构:
Table: DocumentTypes
Field: Id
Field: Prefix
Table: DocumentFields
Field: Id
Field: DocId
Field: Name
我们会生成如下表格:
Table: Type1_Data_Unit1000
Field: Id
Field: DocId
Field: DocField_A_Data
Field: DocField_A_Info1
Field: DocField_A_Info2
Field: DocField_Z_Data
Field: DocField_Z_Info1
Field: DocField_Z_Info2
NHibernate适用于我们所有其他数据,因为架构更加静态。
我的问题: 是否可以配置nhibernate加载其中一个DataTable并将一系列字段绑定到一个集合中?如果是,我应该从哪个界面开始寻找?
我的想法是建立一个类似于:
的课程class FormData
{
public virtual int Id {get;set;}
public virtual int DocId {get;set;}
public virtual int Id {get;set;}
public virtual IList(Of FormFieldData) {get;private set;}
}
class FormFieldData
{
public virtual int Id {get;set;}
public virtual string Value {get;set;}
public virtual int Info1 {get;set;}
public virtual int Info2 {get;set;}
}
我已经看了一下“IInterceptor”,认为这是我应该先看的地方。但是在投入其中之前,我想要由SO人群来管理它。
谢谢!
答案 0 :(得分:1)
如果架构不是静态的,那么nhibernate甚至很难创建查询 - 就我而言,拦截器无法帮助你。我会使用纯CreateSQLQuery并随后手动操作返回值。