将subsonic 3.0 SimpleRepository用于现有数据库

时间:2009-07-22 09:51:09

标签: subsonic subsonic3

我想在我的项目中使用亚音速3.0 SimpleRepository,但是有一个问题:

如果我的表名称如产品等,那么我无法从数据库中获取任何数据, 因为subsonic生成像“Select * from Products ...

这样的sql语句

PS:我不想更改我的表名。

我写了一个t4模板来解决这个问题,我希望有人可以看看我的 代码告诉我我做对了吗?

代码:SimpleRepositoryDemo

2 个答案:

答案 0 :(得分:3)

听起来你已经设计了一个数据库,在这种情况下我会建议你使用LinqTemplates或ActiveRecord。 SimpleRepository似乎真的适合于代码优先开发过程而不是数据库。

答案 1 :(得分:3)

因此,听起来您拥有现有的数据库架构和现有的实体模型(也称为存储库),并且您希望ORM向/从数据库和应用程序推送/拉取数据。

不幸的是,SubSonic不适合这种情况。 SubSonic将从您的数据库模式创建您的实体模型,或者它将从您的实体模型创建您的数据库模式。但它不会从一个映射到另一个,因为它的设计理念是“约定优于配置”。 SubSonic很简单,这就是它的优势,但简单是有代价的。

这种情况需要的是NHibernate。它的设计具有很多可配置性。见http://nhforge.org/Default.aspx