Linq 林克交集?
我有两张这样的桌子Linq 林克交集?,linq,Linq,我有两张这样的桌子 public class Movie { private int MovieID; private string Title; } public class transactions { private int TransactionID; private int MovieID; } 所以第一个表包含所有电影,第二个表包含租用的电影 我如何选择所有留在商店里的电影(未出租且可用)。试过这样的事情: var moviesavailable
public class Movie
{
private int MovieID;
private string Title;
}
public class transactions
{
private int TransactionID;
private int MovieID;
}
所以第一个表包含所有电影,第二个表包含租用的电影
我如何选择所有留在商店里的电影(未出租且可用)。试过这样的事情:
var moviesavailable =
(from m in db.Movies
select m.MovieID ).Intersect
(from trans in db.Transactions
select trans.MovieID)
但不起作用…第一种方法是检查所有电影,如果没有使用相同电影ID的交易,则检查每个外观:
db.Movies.Where(m => !db.Transactions.Any(t => t.MovieID == m.MovieID))
第二种方法是使左连接。我们将电影中的所有行和事务中的等效行连接起来。如果电影中某一行的事务中没有行,则该行的事务为null(DefaultIfEmpty):
第一种方法是检查所有电影,如果没有使用同一电影ID的交易,则检查每个外观:
db.Movies.Where(m => !db.Transactions.Any(t => t.MovieID == m.MovieID))
第二种方法是使左连接。我们将电影中的所有行和事务中的等效行连接起来。如果电影中某一行的事务中没有行,则该行的事务为null(DefaultIfEmpty):
通常情况下,除了,您会使用
,但由于对象的类型不同,因此在这种情况下不能使用它。交叉点是你想要的位置。通常你会使用,除了
,但由于你的对象类型不同,在这种情况下你不能使用它。十字路口就是你想要的地方。哇,这太棒了!!!thnx如果我能理解它就好了,但它的工作很重要:)我有更难看的解决方案哦,理解它是非常重要的。我加了一些词。如果你需要更多,告诉我。哇,这太棒了!!!thnx如果我能理解它就好了,但它的工作很重要:)我有更难看的解决方案哦,理解它是非常重要的。我加了一些词。如果你需要更多,告诉我。