0

「ドメイン エンティティ」DB セットでユーザー エンティティを見つけようとしています。ユーザー エンティティは、ドメイン エンティティと呼ばれる基本型から派生します。

以下を使用して、IDに従ってユーザーを検索したい

User userToDelte = db.DomainEntities.OfType<User>().Find(UserID);

しかし、コンパイルエラーが発生します:

「System.Linq.IQueryable」には「Find」の定義が含まれておらず、型の最初の引数を受け入れる拡張メソッド「Find」もありません...

Find()を使用した後に使用できないのはなぜOfType<User>()ですか?

PS 強く型付けされた User エンティティを取得することが重要です。これは、ユーザー名とパスワードと共に「UserDetails」と呼ばれる別のテーブルにすべての詳細を含むナビゲーション プロパティがあるためです。

4

1 に答える 1

1

これは、 notでFindメソッドが宣言されているためです。その代わりに、のSetメソッドを使用して を作成します。DbSetSystem.Linq.IQueryableDbContextDbSet

User userToDelte = db.Set<User>().Find(UserID);
于 2012-10-27T08:13:13.820 に答える