C# NHibernate/FluentNHibernate复合id camel大小写命名约定
有人能告诉我如何在NHibernate中定义CompositeId()的命名约定吗 我尝试实施了ICompositeIdentityConvention(不起作用): 其他接口(C# NHibernate/FluentNHibernate复合id camel大小写命名约定,c#,nhibernate,fluent-nhibernate,nhibernate-mapping,fluent-nhibernate-mapping,C#,Nhibernate,Fluent Nhibernate,Nhibernate Mapping,Fluent Nhibernate Mapping,有人能告诉我如何在NHibernate中定义CompositeId()的命名约定吗 我尝试实施了ICompositeIdentityConvention(不起作用): 其他接口(IPropertyInstance,IVersionInstance,IIdentityInstance)具有instance.Column(“此处的列名”)方法,但我在该接口上找不到任何 我试图循环使用instance.KeyProperties,但也没有结果 谢谢。也许这个例子有助于您实现以下目标: class Co
IPropertyInstance
,IVersionInstance
,IIdentityInstance
)具有instance.Column(“此处的列名”)代码>方法,但我在该接口上找不到任何
我试图循环使用instance.KeyProperties,但也没有结果
谢谢。也许这个例子有助于您实现以下目标:
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 = "IdColName";
}
}
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 = "IdColName";
}
}