.net 一组具有可互换数据库的POCO类

.net 一组具有可互换数据库的POCO类,.net,orm,subsonic,subsonic3,data-access-layer,.net,Orm,Subsonic,Subsonic3,Data Access Layer,我有一个应用程序,它使用一组表来存储数据 根据客户需求,他们可以使用Oracle或SQL Server 有没有办法创建所有表示表的POCO类,然后在调用Save方法时更新正确的数据库 例如: Person p = new Person; p.Name = "John"; p.Save(); //This saves it to the database but somehow it knows to use a Oracle connection or SQL Connection 更新:我刚

我有一个应用程序,它使用一组表来存储数据

根据客户需求,他们可以使用Oracle或SQL Server

有没有办法创建所有表示表的POCO类,然后在调用Save方法时更新正确的数据库

例如:

Person p = new Person;
p.Name = "John";
p.Save(); //This saves it to the database but somehow it knows to use a Oracle connection or SQL Connection

更新:我刚刚读到Entity Framework 4支持多个数据库,但是以前的版本有很多膨胀,所以我有点被它拖了,不确定这是否能满足我的需要。

如果我有这种需求,我会使用一些ORM,它与POCO一起工作,最好使用存储库模式,如。然后,您可以在配置文件中更改连接,或使用IOC以正确的上下文初始化ORM。

亚音速是否会基于一个数据库创建POCO,然后您可以在配置文件中指定不同的连接?是@Jon如果db端的表结构和数据类型处于聚合状态,则不会出现问题。您可以使用两个具有不同连接字符串的SimpleRepository对象。阅读亚音速文档时,似乎使用SimpleRepository无法创建POCO。try var repo=新建SimpleRepository连接字符串;现在您可以使用以下命令从db创建poco:var poco=repo.Findx=>x.Name==要匹配的某个名称;但是,是的,您必须首先为db中的每个表编码类。表名必须是复数,就像用户类一样,您应该有用户表谢谢。我想我要做的是使用活动记录T4模板生成POCO,然后使用存储库模式,因此我可以切换连接字符串。谢谢。不知怎的,它知道如何使用Oracle连接或SQL连接,因为连接字符串是指向Oracle或SQL Server的。这不是魔法: