Мой мозг, кажется, шумы прямо сейчас! Я использую LINQ для Объекта, и я должен получить некоторые данные из одной таблицы, которая НЕ существует в другой таблице.
Например: Мне нужны groupID, groupname и groupnumber от ТАБЛИЦЫ A, где они не существуют в ТАБЛИЦЕ B. groupID будет существовать в ТАБЛИЦЕ B, наряду с другой релевантной информацией. Таблицы не имеют никаких отношений. В SQL это было бы вполне просто (существует более изящное и эффективное решение, но я хочу нарисовать изображение того, в чем я нуждаюсь),
SELECT
GroupID,
GroupName,
GroupNumber,
FROM
TableA
WHERE
GroupID NOT IN (SELECT GroupID FROM TableB)
Существует ли легкий/изящный способ сделать это использование Объекта Framework/LINQ к Объекту? Прямо сейчас у меня есть набор запросов, поражающих дб, затем сравнение, и т.д. Это довольно грязно.
Вы можете использовать любой
var temp =context.TableA
.Where(x=>!context.TableB.Any(y=>y.GroupID!=x.GroupID))
.Select(x=>new { GroupID = x.GroupID, GroupName=x.GroupName, GroupNumber = x.GroupNumber}).ToList();
Это зависит от того, как вы их встретили, чего вы не показываете, но обычно:
var q = from a in Context.TableA
where !a.Group.TableBs.Any()
select new
{
GroupID = a.GroupID,
GroupName = a.GroupName,
GroupNumber = a.GroupNumber
};