应该使用哪个约定来更改CompositeId().KeyReference(x=>x.Key,/*THIS PART*/)
方法的列名?我已经在FluentNHibernate.Conventions中使用了所有可用的约定,但仍未找到答案。
提前致谢
答案 0 :(得分:1)
现在仍然不可能(FNH 1.2),除了一些反射魔法
class CompositeKeyConvention : ICompositeIdentityConvention
{
public void Apply(ICompositeIdentityInstance instance)
{
var columninspector = instance.KeyManyToOnes.First(k => k.Name == "Key").Columns.First();
var columnmapping = (ColumnMapping)columninspector.GetType().GetField("mapping", BindingFlags.GetField | BindingFlags.Instance | BindingFlags.NonPublic).GetValue(columninspector);
columnmapping.Name = "mycolumnname";
}
}