0

Может ли кто-нибудь направить меня, как определить соглашение об именах для CompositeId() в NHibernate?NHibernate/FluentNHibernate составной идентификатор верблюда для случая с верблюдом

Я попытался реализации ICompositeIdentityConvention (не работает):

public void Apply(ICompositeIdentityInstance instance) 
{ 
    instance.Access.CamelCaseField(CamelCasePrefix.Underscore); 
} 

Другие интерфейсы (IPropertyInstance, IVersionInstance, IIdentityInstance) имеет instance.Column("Column name here"); метод, но я не могу найти на этом интерфейсе.

Я попытался пропустить экземпляр экземпляра.KeyProperties без результата.

Спасибо.

ответ

1

Может быть, этот пример поможет вам, где вы хотите:

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"; 
    } 
} 
Смежные вопросы