【发布时间】:2018-04-03 12:10:17
【问题描述】:
我有一个场景,Item 通过复合表链接到另一个 Entity。 Entity 的 Period 值为 1 = 全周、2 = 周中或 3 = 周末。
我想返回所有可用的Items,或者没有指向Entity 的链接,或者有指向周中或周末的链接,但不是两者都有。假设是,如果 Item 链接到具有整周周期的 Entity,则它不能链接到另一个 Entity,或者如果链接到周中,则只能链接到周末等等。
我已经加入ItemEntity 以满足完全的可用性,但在其他不同的情况下却遇到了困难。
var query = (from it in context.Items
join ie in context.ItemEntity on new { ItemID = it.ID }
equals new { ItemID = ie.ItemID } into itLeft
from itJoin in itLeft.DefaultIfEmpty()
where itJoin == null
select it);
在这种情况下,设计不应被视为问题。
型号:
Item
====
ItemID
ItemName
Entity
====
EntityID
Period
ItemEntity
==========
ItemEntity_ID
ItemID
EntityID
【问题讨论】:
-
贴出你目前写的代码。
-
M Bakardzhiev,已编辑
-
如果您知道如何编写 SQL 代码,您可以尝试使用 LinqPad 将其转换为 Linq 查询
-
@JordyvanEijk LINQPad 不会将 SQL 转换为 LINQ。
标签: c# entity-framework-6 linq-to-entities