【发布时间】:2011-09-13 21:20:17
【问题描述】:
应该使用哪种约定来更改CompositeId().KeyReference(x=>x.Key,/*THIS PART*/) 方法的列名?我在 FluentNHibernate.Conventions 中使用了所有可用的约定,但仍然没有找到答案。
提前致谢
【问题讨论】:
应该使用哪种约定来更改CompositeId().KeyReference(x=>x.Key,/*THIS PART*/) 方法的列名?我在 FluentNHibernate.Conventions 中使用了所有可用的约定,但仍然没有找到答案。
提前致谢
【问题讨论】:
现在仍然不可能(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";
}
}
【讨论】: