小编Jas*_*lci的帖子

NHibernate动态映射

我正在寻找一些方法来使用nhibernate在我的应用程序中动态映射数据库表类(或者如果其他一些ORM工作然后让我知道).我对nhibernate相当新,但我过去使用过实体框架.

我的大部分应用程序都将使用静态结构和流畅的nhibernate来映射它们.

但是,需要创建多个数据库表并将其映射到每个安装站点上的对象.这些都将作为基本结构(id,name等),但是根据它们捕获的数据类型,它们将具有其他字段.从一些阅读中我发现我可以使用xml中的"动态组件"映射来使用IDictionary Attributes属性添加字段.这是第一步,看起来相对简单.参考(http://ayende.com/blog/3942/nhibernate-mapping-dynamic-component)

第二步是我在努力的地方.我需要根据客户的需要定义表并映射它们.如上所述,每个表都有一组静态属性和一些动态属性.他们还需要引用静态"位置"类,如下所示

位置(STATIC)(id,coordinates)
----- DynamicTable1(DYNAMIC)(id,Name,location_id,DynamicAttribute1,DynamicAttribute2 ........)
----- DynamicTable2(DYNAMIC)(id,Name ,location_id,DynamicAttributeA,DynamicAttributeB ....)

我们需要能够像客户端需要一样创建/映射这些DynamicTables.对于大多数客户端站点,DynamicTable1,DynamicTable2等在某些方面很可能会有所不同.在nhibernate中有没有办法实现这一目标?数据库中表的创建/管理将在其他地方进行管理,我只需要一些方法将其映射到我的ORM中.

一点背景
这个应用程序将用于存储地质数据.由于地质数据因其位置而具有内在差异,地质学家正在使用不同的方法并寻找不同的元素(黄金,煤等),因此存储此信息的数据结构必须非常灵活.

nhibernate fluent-nhibernate

6
推荐指数
2
解决办法
8238
查看次数

标签 统计

fluent-nhibernate ×1

nhibernate ×1