2009-07-20 30 views
0

相信我,当我说我明白这不是“正确”的方式来做到这一点。在大型复杂遗留系统问题下进行归档。如何使用NHibernate将一系列列绑定到集合中

我们有描述文档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的加载数据表中的一个和一系列的字段绑定到一个集合?如果是这样,我应该开始寻找哪些接口?

我的想法是有一类是这样的:

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人群中运行它。

谢谢!

回答

1

如果模式不是静态的,那么nhibernate甚至难以创建查询 - 而且就我而言,intercepters不能帮助您。我会使用纯CreateSQLQuery并在之后手动处理返回的值。

+0

完美的是,我可以使用它来绑定静态属性,然后填充我的集合动态列。 – hometoast 2009-07-24 11:08:40

相关问题