Dapper Extensions - 更改主键字段

时间:2013-03-19 16:12:54

标签: dapper

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

UserInstance = conn.Get(UserProfile)(RecordID)

我们所有的主键列都命名为RecordID,但前面是Parent_RecordID。 Get尝试使用Parent_RecordID作为我的主键列,“如果多个属性以Id结尾,Dapper Extensions将使用第一个Id属性作为主键。”

如何更改此设置以便将RecordID作为我的主键仅查找每个表?我知道我可以为实体创建自己的映射器,但我希望这个更改适用于每个表(其中有100个),而不是为每个表创建一个映射器。

2 个答案:

答案 0 :(得分:5)

您是否尝试过为实体创建映射类?

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

不确定mapper类是否用于Get。

答案 1 :(得分:1)

您可以在每个表的主键上方使用指令[Key]