NHibernate与现有数据库并不使用设计器来创建映射

时间:2012-05-07 10:05:22

标签: sql asp.net-mvc asp.net-mvc-3 nhibernate nhibernate-mapping

首先 - 我是NHibernate的新手。

我在VS 2010中使用C#和MVC3为客户端创建应用程序。客户端有一个包含数百个表的庞大数据库,应用程序只需要从其中几个表中读取数据。

当客户端在Web服务器上安装应用程序时,他/她应该指定数据库的连接字符串,并且还应该从(在web.config或类似的)中读取表数据的名称,仅此而已。应用程序将从中读取数据的表的列是已知的(基本上它只是id和更多的字段),但不知道表的名称(表的名称具有“CompanynameTablename”格式)并且应该由客户指定。

NHibernate甚至可以实现这一点吗?如果是这样 - 我怎么能做到这一点?

2 个答案:

答案 0 :(得分:3)

是的,有可能,如果我的问题得到了正确的答案,你必须创建一个高度可配置的映射:为了做到这一点,你可以选择N H 3.x mapping by code解决方案而不是标准的hbm xml文件。有了这个,您可以在cfg文件中输入表的名称,并完全在代码中编写映射策略。无论如何,如果您是使用NH的新手,在实施最终解决方案之前,您可能会运用一些更标准的解决方案来训练自己。 无论如何,请注意,NH是一个OR / M,如果您将它用于地图关联和集合,身份地图,自动持久性等,您将获得好处。考虑使用Micro Orm,因为Dapper可能会对你有所帮助。

答案 1 :(得分:1)

在这种情况下,您可能最好使用ADO.Net和DataSet。