我有2个dbContext;一个用于代码优先方法(读取和写入数据库A ),第二个用于数据库优先方法(只读数据库B )。我的问题是数据库B的一些表中的列数可以变化。
因此对于客户1项目表将包含
我无法改变数据库B的结构。我需要建议如何为不同的客户端推广我的数据访问层和业务层,特别是对于数据库B的数据库第一种方法。这样我就可以使用数据访问层和数据库。业务层作为不同客户端的核心,并为客户特定规则添加附加层。
答案 0 :(得分:0)
EF模型不能是动态的,所以你最终会为每个数据库创建一个EDMX,这是不可避免的。
创建DAL类后,您可以使用反射来检索类型信息并检查表结构(作为表类的属性)。
有关.Net中反射的更多信息: https://msdn.microsoft.com/en-us/library/f7ykdhsy(v=vs.110).aspx