FluentNHibernate: просто еще один вопрос картографии - PullRequest
0 голосов
/ 14 сентября 2011

Какое соглашение следует использовать для изменения имени столбца метода CompositeId().KeyReference(x=>x.Key,/*THIS PART*/)? Я использовал все доступные соглашения в FluentNHibernate.Conventions и до сих пор не нашел ответа.

Заранее спасибо

1 Ответ

1 голос
/ 15 сентября 2011

по-прежнему невозможно (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";
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...