I는 엔티티 프레임 워크를 통해 객체를 로딩하고, 나중에 그것을 사용하기를 지속하는 경우 - - 예를 들면 동등 필터 엔터티 프레임 워크는 다음과 같은 오류가 발생 값/값 조합은 MyType
에 있습니다 (예 : .Where(x => x.Name == MyTypeMemoryInstance.Name)
).Entity Framework 조건에서 메모리 개체 동등 비교를 간소화하는 방법은 무엇입니까? 이 후 쉽게 식별을 사용하여 해결 될 수</p> <blockquote> <p>Unable to create a constant value of type 'MyType'. Only primitive types or enumeration types are supported in this context.</p> </blockquote> <p>:
그러나 기본 형식을 제공 할 필요없이 동등 비교를 허용하는 대안이 있는지 궁금 해서요. .Where(x => x == MyTypeMemoryInstance)
을 수행 할 수 있으며 여전히 메모리가 아닌 SQL에서 수행합니다.
개념적으로, C#의 일반적인 동등 비교를 재정의하는 것과 비슷한 특정 기본 유형 비교를 사용하여 LINQ-to-SQL 변환을 제공 할 수 있다면이를 해결할 수 있지만 if 이것은 실제로 가능합니다. 고맙습니다.
감사합니다 당신은 Func을이 것이 . 본질적으로 LINQ to SQL 공급자가 IComparer, 특성 등을 통해 (평등 비교를 위해 사용하고자하는 것을) 인식하고 동등한 비교 식을 확인할 때이를 사용할 수 있기를 바랍니다. – Alex
나는 서버 수준에서 비교가 가능하지 않다는 것을 두려워한다. (하지만. 왜 두 개체의 다중 속성을 인스턴스를 비교하는 대신 비교할 수 없습니까? 지금까지는 처리 방법을 정의 할 수있는 것이 아직 존재하지 않는다는 것을 알고 있습니다./sql에서 비교할 개체 인스턴스를 변환합니다. – octavioccl