1

我们正在考虑从 EF 切换到 Dapper。我想使用 Dapper Extensions 来填充我的实体,例如:

UserInstance = conn.Get(UserProfile)(RecordID)

我们所有的主键列都命名为 RecordID,但前面是 Parent_RecordID。Get 尝试使用 Parent_RecordID 作为我的主键列,“如果多个属性以 Id 结尾,Dapper Extensions 将使用第一个 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 回答