我想在我的项目中使用亚音速3.0 SimpleRepository,但有一个问题:使用亚音速3.0 SimpleRepository到现有的数据库
如果我的表的名称,如产品等等。然后我不能得到任何数据从数据库中, ,因为亚音速生成SQL语句像“Select * from Products ...
”
PS:我不想改变我的表名称。
我写了一个t4
模板来解决这个问题,希望有人可以看看我的 的代码,并告诉我我做对了吗?
我想在我的项目中使用亚音速3.0 SimpleRepository,但有一个问题:使用亚音速3.0 SimpleRepository到现有的数据库
如果我的表的名称,如产品等等。然后我不能得到任何数据从数据库中, ,因为亚音速生成SQL语句像“Select * from Products ...
”
PS:我不想改变我的表名称。
我写了一个t4
模板来解决这个问题,希望有人可以看看我的 的代码,并告诉我我做对了吗?
这听起来像你已经有设计在这种情况下我会建议你使用LinqTemplates或ActiveRecord的,而不是一个数据库。 SimpleRepository似乎确实适合首先开发代码的过程,而不是数据库。
因此,它听起来像你有一个现有的数据库模式和现有的实体模型(也称为存储库),你想要一个ORM推送/从你的数据库和你的应用程序拉数据。
不幸的是,SubSonic并不适合这种情况。 SubSonic将从您的数据库模式创建您的实体模型,或者它将从您的实体模型创建您的数据库模式。但它不会从一个映射到另一个映射,因为它的设计理念是“约定优于配置”。 SubSonic很简单,这就是它的优势,但简单却是一个代价。
这个场景需要的是NHibernate。它的设计具有很多可配置性。请参阅http://nhforge.org/Default.aspx
是的,这是一个现有项目。 但是,如果我使用LinqTemplates或ActiveRecord,我必须将我的实体转换为亚音速生成的实体,然后再向数据库插入新记录 – NEE 2009-07-23 03:26:43
是的,如果您使用了LinqTemplates,我希望您可以用现有的实体替换生成的,将任何需要的现有功能移到部分类中。 – 2009-07-23 12:22:50