如何在Entity Framework Database First中处理动态列

时间:2015-07-30 23:45:14

标签: sql-server entity-framework architecture entity-framework-6 ef-database-first

我有2个dbContext;一个用于代码优先方法(读取和写入数据库A ),第二个用于数据库优先方法(只读数据库B )。我的问题是数据库B的一些表中的列数可以变化。

因此对于客户1项目表将包含

enter image description here

对于客户端2,项目表将包含 enter image description here

我无法改变数据库B的结构。我需要建议如何为不同的客户端推广我的数据访问层和业务层,特别是对于数据库B的数据库第一种方法。这样我就可以使用数据访问层和数据库。业务层作为不同客户端的核心,并为客户特定规则添加附加层。

1 个答案:

答案 0 :(得分:0)

EF模型不能是动态的,所以你最终会为每个数据库创建一个EDMX,这是不可避免的。

创建DAL类后,您可以使用反射来检索类型信息并检查表结构(作为表类的属性)。

有关.Net中反射的更多信息: https://msdn.microsoft.com/en-us/library/f7ykdhsy(v=vs.110).aspx