1

EFからDapperへの切り替えを考えています。Dapper Extensionsを使用して、次のようにエンティティにデータを入力したいと思います。

UserInstance = conn.Get(UserProfile)(RecordID)

すべての主キー列にはRecordIDという名前が付けられていますが、その前にParent_RecordIDが付いています。Getは、Parent_RecordIDを主キー列として使用しようとします。「複数のプロパティがIdで終わる場合、DapperExtensionsは最初のIdプロパティを主キーとして使用します。」

これを変更して、すべてのテーブルの主キーとしてRecordIDを検索するにはどうすればよいですか?エンティティ用に独自のマッパーを作成できることは理解していますが、この変更をすべてのテーブル(100個あります)に適用したいので、すべてのテーブルにマッパーを作成したくありません。

4

2 に答える 2

5

エンティティのマッピングクラスを作成してみましたか?

public class UserProfileMapper : ClassMapper<UserProfile>
{
    public UserProfileMapper()
    {
    Table("UserProfile");
    Map(f => f.RecordID).Key(KeyType.Identity);
    ...
    }
}

マッパークラスがGetに使用されているかどうかわからない。

于 2013-03-19T19:14:23.720 に答える
1

[Key]各テーブルの主キーの上のディレクティブを使用できます

于 2016-04-22T18:12:28.307 に答える