私はEntity Frameworkを介してオブジェクトをロードし、後で使用するためにそれを解決しない場合 - - たとえば等価フィルタでは、Entity Frameworkは、次のエラーをスロー値/値の組み合わせは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で引き続き行います。
概念的には、これは、特定の型に対して使用する特定のプリミティブ型の比較でLINQからSQLへの変換を提供でき、C#での通常の等価比較のオーバーライドと同様に解決できますが、これは実際に可能です。ありがとうございました。
ありがとうございましたあなたはfuncはなり持っています。基本的には、LINQ to SQLプロバイダが等価比較のために使用するものを(IComparer、属性などを介して)認識できるようにして、等価比較式を解決するときに使用することを期待していました。 – Alex
私はサーバレベルでは比較ができないのではないかと心配しています:(しかし、なぜ両方のオブジェクトの複数のプロパティをインスタンスと比較することができないのですか?これまでのところ、/sqlで比較されるオブジェクトインスタンスを変換する – octavioccl