List1包含项目{ A, B }并List2包含项目{ A, B, C }.
我需要的是{ C }在使用Except Linq扩展时返回.相反,我得到了返回{ A, B },如果我在表达式中翻转列表,结果是{ A, B, C }.
我是否误解了Except的观点?还有其他我没有看到使用的扩展吗?
到目前为止,我已经查看并尝试了很多不同的帖子,但没有成功.
var except = List1.Except(List2); //This is the line I have thus far
Run Code Online (Sandbox Code Playgroud)
编辑:是的我正在比较简单的对象.我从未使用过IEqualityComparer,了解它很有趣.
谢谢大家的帮助.问题不是实现比较器.链接的博客文章和下面的示例有帮助.
我很难解决一个愚蠢的映射问题.基本上发生的事情是我在sql db表中有一个字段,它是一个varbinary用于安全性(加密和解密).所有这些东西都很好,但似乎edmx看到该表中的字段为一个字符串,我认为应该看到它只是一个二进制字符串.这是我收到的错误消息.
Schema specified is not valid. Errors:
ReadModel.Model.msl(836,12): error 2019: Member Mapping specified is not valid. The type
'Edm.String [Nullable=True,DefaultValue=,MaxLength=256,Unicode=,FixedLength=False]' of
member 'field-in-question' in type 'Lib.ReadModel.TableName' is not compatable with
'SqlServer.varbinary' [Nullable=True,DefaultValue=,MaxLength=256,FixedLength=False]'
of member 'field-in-question' in type 'Model.Store.TableName'.
Run Code Online (Sandbox Code Playgroud)
有没有人有这样的问题?也许我有一些东西可以忽略?也许能够指出我正确的方向?我在寻找解决问题的信息方面遇到了问题而且处于亏损状态.