【发布时间】:2011-02-21 23:35:00
【问题描述】:
根据下表
Sample
Id Name
---------------
S1 SomeName
S2 OtherName
S3 AnotherName
AlreadyUsed
Id
---------
S2
Reference
Id FkId
---------
T1 S1
T2 S1
我想实现以下 “仅从样本表中选择那些在 AlreadyUsed 中没有条目并且在其中至少有一个条目的条目 参考表。”
我能够为第一部分编写查询,但对后半部分感到困惑。下面是我可以想出的“仅从样本表中选择那些在 AlreadyUsed 表中没有条目的条目”
var count = 50;
var alreayUsed = from au in repository.GetEntity<AlreadyUsed>()
select au.Id;
var notUsed = (from nu in repository.GetEntity<Sample>()
where !alreadyUsed.Contains(nu.Id)
orderby nu.Name
select new CustomClass
{
CName = nu.Name,
CId = nu.Id
}).Take(count).ToArray();
也请。建议是否有更好的方法来编写上述查询。
谢谢。
【问题讨论】:
-
表名是
"Sample"还是"NotUsed"? -
您使用了“NotUsed”实体,但 NotUsed 真的是“Sample”吗?
标签: c# linq linq-to-sql c#-4.0