gpt4 book ai didi

c# - 如何使用 FluentMap 进行一对多映射?

转载 作者:太空宇宙 更新时间:2023-11-03 12:02:11 28 4
gpt4 key购买 nike

我刚开始使用 FluentMap,我希望将同一列映射到 2 个属性,因为它们需要相同的值。这是我的 map :

internal class DefaultsMap : EntityMap<Defaults>
{
internal DefaultsMap()
{
Map(d => d.HistoricalValues.Cost).ToColumn("defaultValue");
Map(d => d.FutureValues.Cost).ToColumn("defaultValue");
//other mappings...
}
}

这会引发以下错误:

Exception: Duplicate mapping detected. Property 'Cost' is already mapped to column 'Cost'.

看来我无法将同一列映射到 2 个不同的属性,或者这是因为属性本​​身被称为同一事物(成本)?

最佳答案

不适用于 dapper;我在使用 NHibernate 时遇到了这个问题。

我不确定这一点,但如果像数据结构这样的键值对,映射器工具可能会以某种方式存储您的映射。

也就是说,您不能存储两个具有相同名称的不同 key 。

即使这不是真的,很明显映射器必须需要不同的命名来识别映射是不同的。它不查看为其定义属性的类;它只查看属性名称。

您可以考虑重命名您的属性以明确命名它们,如下所示:

HistoricalValues.Cost => HistoricalValues.HistoricalCost
FutureValues.Cost => FutureValues.FutureCost

关于c# - 如何使用 FluentMap 进行一对多映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56584325/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com