如何拥有一个组件,多次出现在实体上,并且共享组件中的一个列?
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");
});
插入过程中出现此错误,只是说无法获得53列53或其他内容。当它有映射问题时,这是一般错误。选择正常工作,但无法插入或更新。
答案 0 :(得分:2)
您无法在映射中将同一列映射两次。您需要将CurrencyConverterRateGroupID
拉出组件。
答案 1 :(得分:2)
您可以映射到相同的列,但您必须只读取其中一列
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();
});