我们正考虑从EF切换到Dapper。我想使用Dapper Extensions填充我的实体,如:
UserInstance = conn.Get(UserProfile)(RecordID)
我们所有的主键列都命名为RecordID,但前面是Parent_RecordID。 Get尝试使用Parent_RecordID作为我的主键列,“如果多个属性以Id结尾,Dapper Extensions将使用第一个Id属性作为主键。”
如何更改此设置以便将RecordID作为我的主键仅查找每个表?我知道我可以为实体创建自己的映射器,但我希望这个更改适用于每个表(其中有100个),而不是为每个表创建一个映射器。
答案 0 :(得分:5)
您是否尝试过为实体创建映射类?
public class UserProfileMapper : ClassMapper<UserProfile>
{
public UserProfileMapper()
{
Table("UserProfile");
Map(f => f.RecordID).Key(KeyType.Identity);
...
}
}
不确定mapper类是否用于Get。
答案 1 :(得分:1)
您可以在每个表的主键上方使用指令[Key]