Subsonic 对现有数据库使用亚音速3.0 SimpleRepository

Subsonic 对现有数据库使用亚音速3.0 SimpleRepository,subsonic,subsonic3,Subsonic,Subsonic3,我想在我的项目中使用亚音速3.0 SimpleRepository,但存在一个问题: 如果我的表名像Product等,那么我无法从数据库中获取任何数据, 因为亚音速生成sql语句,如“Select*from Products…”” PS:我不想更改我的表名 我写了一个t4模板来解决这个问题,希望有人能看看我的 编码并告诉我我做的对吗 代码:听起来您已经设计了一个数据库,在这种情况下,我建议您使用LinqTemplates或ActiveRecord。SimpleRepository似乎真的适合于代

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

如果我的表名像Product等,那么我无法从数据库中获取任何数据, 因为亚音速生成sql语句,如“
Select*from Products…”

PS:我不想更改我的表名

我写了一个
t4
模板来解决这个问题,希望有人能看看我的 编码并告诉我我做的对吗


代码:

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

因此,听起来您有一个现有的数据库模式和一个现有的实体模型(也称为存储库),并且您希望ORM将数据推送到/从数据库和应用程序中拉出

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


这个场景需要的是NHibernate。它的设计具有很多可配置性。请参见

是,这是一个现有项目。但是如果我使用LinqTemplates或ActiveRecord,我必须先将我的实体转换为亚音速生成的实体,然后再将新记录插入数据库是的,您会这样做,但是如果您使用LinqTemplates,我希望您可以用生成的实体替换现有实体,将任何必需的现有功能移动到分部类中。但我不想更改我的实体。1.我想让我的实体保持简单2。移动数百个实体并非易事