1

ここでスレッドを検索したところ、同様の投稿が複数見つかりましたが、解決策はありませんでした

単純なユーザーエンティティにマップしたデータベースにユーザーテーブルがあるとします

public class User{
    public int UserId {get;set;}
    public string Username {get;set;}
}

User とすべて同じフィールドを持つが、さらにいくつかのフィールドを追加する ExternalUser をカプセル化する新しいクラスを作成したいと考えています。私のExternalUserのフィールドは、UserからのフィールドとExternalUserに必要な追加のフィールドの両方を取得するdbのビューから入力されます

public class ExternalUser : User{
    public int SomeExternalId{get;set;};
    public string SomeExternalProp{get;set;};
}

しかし、この新しいオブジェクトのマッピングをどのように定義しても、次のエラーが発生します。

プロパティ 'UserId' は、タイプ 'ExternalUser' で宣言されたプロパティではありません。Ignore メソッドまたは NotMappedAttribute データ注釈を使用して、プロパティがモデルから明示的に除外されていないことを確認します。有効なプリミティブ プロパティであることを確認してください。

誰かがこれをマッピングする正しい方法を共有できますか? このようなものは、私が EF を嫌います。単に POCO を継承しても、特に私が指摘している基本的なビューにすべてのフィールドが存在する場合は、それが爆発することはありません。どうもありがとう!

4

1 に答える 1