2

私はこの声明を書きました:

if (!db.Customers.Contains<Customer>(customer,customerCompairor))
                {
                    db.Customers.Add(customer);
                }

次のエラーが発生する理由がわかりません。

LINQ to Entities はメソッド 'Boolean Contains[Customer](System.Linq.IQueryable 1[DBInteractor.Customer], DBInteractor.Customer, System.Collections.Generic.IEqualityComparer1[DBInteractor.Customer])' メソッドを認識せず、このメソッドはストア式に変換できません。

私は参照を作成しました:

  IEqualityComparer<Customer> customerCompairor = new PMKeyCompairor();

そしてPMKeyCompairorは実装していますIEqualityComparer<Customer>

class PMKeyCompairor:IEqualityComparer<Customer>
    {
            ........................
            .............................
     }

Customers には、拡張メソッド Contains (bool を返す) がありますDbSet

それで、どこが間違っているのですか?

4

1 に答える 1