0
应使用哪种约定来更改CompositeId().KeyReference(x=>x.Key,/*THIS PART*/)
方法的列名称?我在FluentNHibernate.Conventions中使用了所有可用的约定,但仍未找到答案。FluentNHibernate:只是另一个映射问题
在此先感谢
应使用哪种约定来更改CompositeId().KeyReference(x=>x.Key,/*THIS PART*/)
方法的列名称?我在FluentNHibernate.Conventions中使用了所有可用的约定,但仍未找到答案。FluentNHibernate:只是另一个映射问题
在此先感谢
仍然不可能现在(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";
}
}
1.2版?我正在使用1.3版!好,谢谢。 – Sadegh
如何更改类型?我试图让枚举使用int。 .KeyProperty(x => x.EnumKey,x => x.ColumnName(“EnumKey”)。Type(typeof(EnumKeyType)))< - 我想约定。 – BradLaney