我想在我的项目中使用 subsonic 3.0 SimpleRepository,但是有一个问题:
如果我的表名称如Product等,那么我无法从数据库中获取任何数据,因为 subsonic 生成的 sql 语句如“ Select * from Products ...
”
PS:我不想更改我的表名。
我写了一个t4
模板来解决这个问题,我希望有人可以看看我的代码并告诉我我做对了吗?
我想在我的项目中使用 subsonic 3.0 SimpleRepository,但是有一个问题:
如果我的表名称如Product等,那么我无法从数据库中获取任何数据,因为 subsonic 生成的 sql 语句如“ Select * from Products ...
”
PS:我不想更改我的表名。
我写了一个t4
模板来解决这个问题,我希望有人可以看看我的代码并告诉我我做对了吗?
听起来您已经设计了一个数据库,在这种情况下,我建议您改用 LinqTemplates 或 ActiveRecord。SimpleRepository 似乎真的适合代码优先开发过程,而不是数据库优先。
所以听起来您有一个现有的数据库模式和一个现有的实体模型(也称为存储库),并且您希望 ORM 将数据推入/拉出您的数据库和应用程序。
不幸的是,SubSonic 不是适合这种情况的工具。SubSonic 将从您的数据库模式创建您的实体模型,或者它将从您的实体模型创建您的数据库模式。但它不会从一个映射到另一个,因为它的设计理念是“约定优于配置”。SubSonic 很简单,这就是它的优势,但简单是有代价的。
对于这种情况,您需要的是 NHibernate。它的设计具有很多可配置性。见http://nhforge.org/Default.aspx