Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LINQ到entites,然后从列表中查询实体(复合键)_C#_Linq_Entity Framework - Fatal编程技术网

C# LINQ到entites,然后从列表中查询实体(复合键)

C# LINQ到entites,然后从列表中查询实体(复合键),c#,linq,entity-framework,C#,Linq,Entity Framework,我查询一个几乎没有过滤器的实体。此实体有一个复合键题词EcoleKey,7个属性 在另一面,我有一个关键列表 我的目标是从查询中删除其键位于列表中的元组 我该怎么做 多谢各位 题词ECOLEKEY: Fkanneanenescolaire FkClDegre FkCllEcole FKClFormation FKClVersion FkEleNumEleve 努明斯 关于铭文的查询示例: var ins = DataContext.InscriptionEcole.Where( i =&

我查询一个几乎没有过滤器的实体。此实体有一个复合键题词EcoleKey,7个属性

在另一面,我有一个关键列表

我的目标是从查询中删除其键位于列表中的元组

我该怎么做

多谢各位

题词ECOLEKEY:

Fkanneanenescolaire FkClDegre FkCllEcole FKClFormation FKClVersion FkEleNumEleve 努明斯 关于铭文的查询示例:

var ins = DataContext.InscriptionEcole.Where(
    i => i.FkAnneAnnee == "20132014"
      && i.FkCllEcole == "CIFOM"
      && i.Valide == "O"
);

你就不能这样过滤吗

DataContext.InscriptionEcole.Where(item => !otherList.Contains(item, customComparer));
请参阅文档以了解包含的内容

更新

需要的是非等效连接:

DataContext.InscriptionEcole.Where(ecoleItem => 
    !keys.Any(key => 
        key.FkEleNumEleve == ecoleItem.FkEleNumEleve &&
        key.FkCllEcole == ecoleItem.FkCllEcole && ...));

你能用过滤器发布InjectioneColeKey的结构和一个基本的示例查询吗?类型不同。该查询位于铭文库上,列表包含铭文库键!!!好的,用Where代替Contains并检查结果的长度,你能说明你的想法吗@Christian?好的,类似于DataContext.ditioneCole.WherecompositeKey=>otherList.Wherekey=>KeySequalCompositeKey,key.length==0;我想它可以写得更简洁一些,比如DataContext.edintelecole.WherecompositeKey=>!Anykey=>KeysEqualscompositeKey,key;其中KeysEquals会根据您的需要比较各个集合中的项目是否相等。我认为您要查找的是非相等联接,请参阅并查看非相等联接示例。