首页 新闻 搜索 专区 学院

请教一个关于NHibernate3的问题

0
悬赏园豆:80 [已解决问题] 解决于 2012-08-14 14:10

我们现在有一个需求正在考虑是否采用NHibernate3,请您帮忙指点.

      大概需求描述:

     我们现在有一个产品需要不断的切换数据库(sqlserver,oracle .etc),数据库和表都是已存在的,在我们的平台上想动态生成数据访问组件(不借助第三方工具),

直接在我们的平台上生成,最后得到的数据绑定到动态表单上

请问使用NHibernate是否具有可行性,在您的NHibernate3系列中看到了ConfOrm介绍,在一个回答中看到您将要介绍对已存在数据表的情况,

但是在后续文章中没找到此方面的介绍,请您能知道一下,谢谢!

lin木的主页 lin木 | 初学一级 | 园豆:93
提问于:2012-08-13 14:55
< >
分享
最佳答案
0

切换数据库,最完美的情况其实需要写三套配置,不好实时切换,需要重启程序改配置

数据库和表都是已存在,这种情况其实很难使用ORM对其数据库映射。

所以还是不合适。。首先使用ORM是完全另外一个OOP设计思想,数据库表会成为你的最大障碍,所以在表不可以修改的情况下不要用orm框架了吧

收获园豆:50
李永京 | 老鸟四级 |园豆:3114 | 2012-08-13 15:24

这种方式您看是否可行:

  1. 使用ado.net访问数据库;
  2. 在数据库中维护一个SqlTable(IID,name,sql,description),由研发和实施人员进行维护,在平台中提供一个基本的可视化编辑sql和测试sql的功能;
  3. 在配置文件中维护连接数据库的字符串(sql,oracle等);
  4. 持久化方法大概如下

ISqlExececute

{

DataSet Querty(name);

Bool Delete(name);

Bool Update(name);

bool Add(name);

}

5. 动态表单绑定到DataSet,在表单引擎中配置绑定的字段(可配置)。

lin木 | 园豆:93 (初学一级) | 2012-08-13 16:06
其他回答(1)
0

运行时切换数据库类型是比较困难的, 一般都要重启修改数据库配置。

根据数据表结构生成对应的实体类代码以及映射并编译是可行的, 至于绑定到菜单应该没有什么问题。

收获园豆:30
张志敏 | 园豆:322 (菜鸟二级) | 2012-08-13 17:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册