Linq 林克';不在';查询不符合我的期望

Linq 林克';不在';查询不符合我的期望,linq,Linq,我用Linq编写了以下查询: var res = dc.TransactionLoggings .Where( x => !dc.TrsMessages(y => y.DocId != x.DocId) ).Select(x => x.CCHMessage).ToList(); 这项决议如下: SELECT [t0].[CCHMessage] FROM [dbo].[Transaction

我用Linq编写了以下查询:

var res =  dc.TransactionLoggings
             .Where(
                x => !dc.TrsMessages(y => y.DocId != x.DocId)
              ).Select(x => x.CCHMessage).ToList();
这项决议如下:

SELECT [t0].[CCHMessage]
FROM [dbo].[TransactionLogging] AS [t0]
WHERE NOT (EXISTS(
    SELECT NULL AS [EMPTY]
    FROM [dbo].[TrsMessages] AS [t1]
    WHERE [t1].[DocId] <> [t0].[DocId]
    ))
我的LINQ Station有什么问题吗

var res =  dc.TransactionLoggings
             .Where(tl => !dc.TrsMessages.Any(trsm=> trsm.DocId == tl.DocId))
             .Select(x => x.CCHMessage).ToList();


你真的想拥有
=?
var res =  dc.TransactionLoggings
             .Where(tl => !dc.TrsMessages.Any(trsm=> trsm.DocId == tl.DocId))
             .Select(x => x.CCHMessage).ToList();
   var trsMessagesDocId = dc.TrsMessages.Select(trsm => trsm.DocId).ToList();

   var res = dc.TransactionLoggins
                .Where(tl => !trsMessagesDocId.Contains(tl.DocId))
                .Select(tl => tl.CCHMEssage)
                .ToList();