我目前对我的一个项目使用Linq to Sql(dbml)。 (C#赢形式)Linq等于运算符
我创建的部分和元数据类模块,并实现equals()和基于these Guidelines
我有问题== 是,当我尝试使用这些等于操作在linq查询中。
Entities.MyClass.Where(p => p.Equals(myClassObject));
我也尝试以下
Entities.MyClass.Where(p => Object.Equals(p, myClassObject));
Entities.MyClass.Where(p => p == myClassObject);
什么是实现这个的最佳方式?
而是试图重载equals目前我正在做以下的(但我检查8个值,所以它只是似乎很麻烦):
Entities.MyClass.Where(p => p.value1 == myClassObject.value1 && p.value2 == myClassObject.value2 ......)
究竟是什么问题?你是否遇到错误,或者你不想检查8个值? –
我比较'Objects'时总是使用经验法则比较值时使用'.Equals'方法我使用'=='比较 – MethodMan
我假设问题是您的Linq提供程序不知道如何转换您为实体设置的'Equals'或'=='运算符。通常情况下,您会与主键进行比较,除非您专门测试与某些列集匹配的行。 – juharr