1

質問 - LINQ から特定のレコードを削除する方法。たとえば、LINQ から削除したいレコードがいくつかあります。

シナリオ - 10 レコードのテーブル A と 2 レコードのテーブル B があります。B に属しているレコードを削除して、A から削除したい [linq を使用] - 以下、q にすべてのレコードがあり、レコードを削除したいそれはpにあります。

var p = from c in q
        join dr in dc.TableData on c.Id equals dr.CaseId
        select new View()
        {
            ActiveCaseId = c.ActiveCaseId,
            Id = c.Id                            
        };

q = q.Except(p);
4

1 に答える 1

1

とはタイプが異なるExceptためp、表示されているとおりにそれを行うことはできません。qしかし、それは少し不器用でもあります。

1つのクエリでそれを行うことができます:

var p = from c in q
        where !dc.TableData.Any(dr => dr.CaseId == c.Id)
                        select new View()
                        {
                            ActiveCaseId = c.ActiveCaseId,
                            Id = c.Id                            
                        };
于 2012-11-29T23:41:38.747 に答える