Entity framework 实体框架使用相似但略有不同的模式访问多个数据库

Entity framework 实体框架使用相似但略有不同的模式访问多个数据库,entity-framework,Entity Framework,我有多个现有的SQL Server数据库,用于不同的客户机,它们的架构95%相似, 但在每个数据库中可能有一些额外的自定义列来处理某些特定的客户需求 例如,数据库A可能有一个包含两个自定义列的表: StdColumn1, StdColumn2, CompanyACustom1, CompanyACustom2 数据库B可能有一个自定义列: StdColumn1, StdColumn2, AnotherCompanyCustom1 数据库C可能没有自定义列,只是: StdColumn1, St

我有多个现有的SQL Server数据库,用于不同的客户机,它们的架构95%相似, 但在每个数据库中可能有一些额外的自定义列来处理某些特定的客户需求

例如,数据库A可能有一个包含两个自定义列的表:

StdColumn1, StdColumn2, CompanyACustom1, CompanyACustom2
数据库B可能有一个自定义列:

StdColumn1, StdColumn2, AnotherCompanyCustom1
数据库C可能没有自定义列,只是:

StdColumn1, StdColumn2
我想配置实体框架,以便C#对象具有一些额外的预定义属性(例如:
CustomColumn1
CustomCustom2
,等等),这些属性映射到这些自定义列(如果它们存在),或者如果自定义列不存在则不起作用


视图是实现这一点的一种方法,但我想知道是否可以使用CSDL、SSDL和MSDL文件来完成类似的操作。或者可以让它工作?

实体框架是一个编译时框架,必须提前知道模式。它没有动态模式,这正是您所需要的。但也有一些实体框架“扩展”在封面下使用EF,并在运行时编译模型。缺点是需要使用“动态”对象与之交互(因为在编译时类型未知)

预制扩展。。。

或者,您可以推出自己的解决方案,使用XML操作调整SSDL和MSL文件。。。