Свободные компоненты NHibernate, которые совместно используют столбцы - PullRequest
2 голосов
/ 10 ноября 2011

Как вы можете иметь компонент, появляться на объекте более одного раза, и один из столбцов в компоненте является общим?

    mapping.Component(x => x.Price1, m =>
    {
        m.Map(x => x.Amount).Column("OfferPrice");
        m.Map(x => x.Group).Column("CurrencyConverterRateGroupID");
    });

    mapping.Component(x => x.Price2, m =>
    {
        m.Map(x => x.Amount).Column("OfferPrice2");
        m.Map(x => x.Group).Column("CurrencyConverterRateGroupID");
    });

Эта ошибка во время вставки, просто говоря, как не может получить столбец 5353 или что-то.Это общая ошибка, когда возникают проблемы с отображением.Выбирает работу нормально, но вы не можете вставить или обновить.

Ответы [ 2 ]

2 голосов
/ 24 октября 2015

Вы можете отобразить на те же столбцы, но вам нужно сделать один из них доступным только для чтения

mapping.Component(x => x.Price1, m =>
{
    m.Map(x => x.Amount).Column("OfferPrice");
    m.Map(x => x.Group).Column("CurrencyConverterRateGroupID");
});

mapping.Component(x => x.Price2, m =>
{
    m.Map(x => x.Amount).Column("OfferPrice2");
    m.Map(x => x.Group).Column("CurrencyConverterRateGroupID").Readonly();
});
2 голосов
/ 10 ноября 2011

Вы не можете отобразить один и тот же столбец дважды в вашем отображении. Вам нужно вытащить CurrencyConverterRateGroupID из компонента.

...