У меня проблемы с получением этого права ...
У меня есть проект "Core" с общим набором функций, включая, например, Tagging .Маркировка включает в себя набор сущностей, некоторые из которых включают Tag
и ObjectTag
.
Они в основном выглядят так:
Tag (uniqueidentifier TagId, nvarchar(max) Tag)
ObjectTag (uniqueidentifier TagId, uniqueidentifier ObjectId)
Мой проект "Core" также содержит модель данных сDbContext
называется CoreEntities
.Таким образом, я могу сделать следующее:
from ot in CoreEntities.Tag select ot where ot.TagId = "{someguid}"
У меня также есть проект "Web", который включает в себя объект, специфичный для моего сайта, например Recipe .Рецепт выглядит следующим образом:
Recipe (uniqueidentifier RecipeId, string Name)
Мой проект "Web" также имеет модель данных с соответствующим контекстом (WebEntities
), которая делает возможным следующее:
var recipes = from r in WebEntities.Recipe
select r
where r.Name == "Granny's Meatloaf"
foreach(var r in recipes) {
var recipeTags = from t in CoreEntities.ObjectTag
select t
where t.ObjectId == r.RecipeId
}
Это довольноресурсоемкий, так как для каждой Recipe
должны быть извлечены соответствующие ObjectTag
записи.При попытке присоединиться к сущностям я получил следующую ошибку: «Указанное выражение LINQ содержит ссылки на запросы, связанные с различными контекстами». Значит ли это, что мне нужно добавить ObjectTag
в мой WebEntities
контекст?Может ли быть какой-то другой эффективный способ присоединиться к ним?