2011-09-13 51 views

回答

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"; 
    } 
} 
+0

1.2版?我正在使用1.3版!好,谢谢。 – Sadegh

+0

如何更改类型?我试图让枚举使用int。 .KeyProperty(x => x.EnumKey,x => x.ColumnName(“EnumKey”)。Type(typeof(EnumKeyType)))< - 我想约定。 – BradLaney