Присоединяться к таблицам из разных DbContext - сначала
В приложении с EF6.0 у меня есть два DbContext, созданных с помощью модели сначала, Schema1.DbContext1
и Schema2.DbContext2
.
Теперь мне нужно сделать соединение на двух объектах, EntityA
от Schema1.DbContext1
и EntityB
от Schema2.DbContext2
.
Как я могу это сделать?
Ответы
Ответ 1
Вы пробовали просто сделать это?
Что-то вроде:
var result = context1.EntityA.Join(context2.EntityB, a=>a.Key, b=>b.Key, (a,b)=>new {a,b});
Я не уверен, насколько хорош SQL, поскольку соединение выполняется в LINQ. Вы хотите протестировать и посмотреть, как это происходит на самом деле!
Ответ 2
Если вы можете использовать хранимые процедуры, это случай для него. Proc может присоединиться к двум объектам на уровне базы данных в базах данных. Какой бы db был уместным, вы можете затем сопоставить эту процедуру в своей модели сущностей и использовать ее. Я говорю "если сможешь", потому что я видел магазины, запрещающие все SP в пользу только EF.