我有一个关于使用PrimaryKeyNamingConvention的问题
假设以下类:
public class banco
{
[Required]
public virtual int banco_id { get; set; }
...
}
和
public class PrimaryKeyNamingConvention : IIdConvention
{
public void Apply(IIdentityInstance instance)
{
instance.Column(instance.EntityType.Name + "_id");
}
}
和
static AutoPersistenceModel CreateAutomappings()
{
... Conventions.Setup(c =>
{
c.Add<PrimaryKeyNamingConvention>();
});
你可以使用上面描述的东西吗?当我尝试运行时发生错误
实体’banco’没有Id映射.使用Id方法映射您的标识属性.例如:Id(x => x.Id).
最佳答案 你可以使用这样的ID.但是您不仅要映射列名,还要映射属性
name.
[编辑]从this question添加的代码
public class AutomappingConfiguration : DefaultAutomappingConfiguration
{
public override bool IsId(Member member)
{
return member.Name == member.DeclaringType.Name + "Id";
}
}