|
|
1
1
听起来最简单的方法可能是创建一个包含所有公共GIS成员的抽象基类,然后继承其他X类,这些X类只包含必要的NHibernate映射。然后,我将使用工厂模式使用元数据创建特定类型的对象。 |
|
|
2
1
不幸的是,它不是创建所有GIS数据类的选项,因为类是在应用程序中动态创建的。相同类型的每个GIS数据都应该是一个类,但是我的用户可以获得新的数据集并将其放入数据库中。我不知道我的用户将在应用程序中使用哪些类。因此,前面的每类映射模型不起作用,因为明天将有另一个新的数据库表,并且需要使用新映射创建新类。 @全部 有可能在GisObject类的XML配置文件中编写自己的自定义查询,然后在数据访问类中使用
并使用字符串replace注入数据库名称(通过替换一些占位符字符串),我将把它作为参数传递。
你觉得这个解决方案怎么样?我知道,在不受控制的环境中,表名将作为用户输入获取,这可能会带来安全风险,但在这种情况下,我有一个元表,其中包含正确有效的GIS数据类表名,我将在调用查询以获取特定GIS对象类的数据之前读取这些表名。 |
|
|
3
0
|
|
|
4
0
你可以看看Ayende在这里说什么: MultiTable Entities . 但既然你们有单独的桌子,我认为这行不通。 你也可以退房 nhuser group |
|
|
5
0
我想我会问一个问题,为什么您直接在数据库中查找GIS数据,而不使用通常作为抽象提供给您的API。如果这是一个ESRI系统,则有一些工具允许您将静态数据库视图创建到其GIS对象中,然后从那时起,可能适合进行数据提取。 |
|
|
6
0
从NHibernate文档中,您可以使用 inheritance mappings . 对于每个表,您可能也有一个单独的类,但是让它们都实现一些公共接口 |
|
|
Nico Pizzo · 子查询上的nhibernate联接 8 年前 |
|
|
YMC · 无法在Nhb 4中构建只有特定字段可供选择的2个表联接 8 年前 |
|
|
Stu · 具有特定类型的字符串外键的NHibernate映射 8 年前 |
|
|
Zout · 为Hibernate的HiLo算法管理的列生成ID 8 年前 |