如何使用 NHibernate 在 CompositeId 映射中设置列
How can i set a Column in a CompositeId mapping with NHibernate
我有一个带有 NHibernate 的复合 ID 映射,我想在所有这些 ID 中设置一列。有可能吗?
public class MapProduction : ClassMap<Production>
{
public MapProduction()
{
CompositeId()
.KeyProperty(c => c.ProductionCode)
.KeyProperty(c => c.Cycle)
.KeyProperty(c => c.Crop)
.KeyProperty(c => c.TechnologyLevel);
Map(c => c.Area).Column("A_ARE");
Map(c => c.Productivity).Column("P_ARE");
Map(c => c.syncStatus).ReadOnly();
}
}
如果我只有一个id,我可以设置一个Column,但是对于composite我不能。
我该怎么做?
我找到了如何做到这一点。
在 CompositeId 中有一个参数用于添加 table 引用。
public class MapProduction : ClassMap<Production>
{
public MapProduction()
{
CompositeId()
.KeyProperty(c => c.ProductionCode, "P_PRO")
.KeyProperty(c => c.Cycle, "C_CIC")
.KeyProperty(c => c.Crop, "C_CUL")
.KeyProperty(c => c.TechnologyLevel, "C_NVT");
Map(c => c.Area).Column("A_ARE");
Map(c => c.Productivity).Column("P_ARE");
Map(c => c.syncStatus).ReadOnly();
}
}
我有一个带有 NHibernate 的复合 ID 映射,我想在所有这些 ID 中设置一列。有可能吗?
public class MapProduction : ClassMap<Production>
{
public MapProduction()
{
CompositeId()
.KeyProperty(c => c.ProductionCode)
.KeyProperty(c => c.Cycle)
.KeyProperty(c => c.Crop)
.KeyProperty(c => c.TechnologyLevel);
Map(c => c.Area).Column("A_ARE");
Map(c => c.Productivity).Column("P_ARE");
Map(c => c.syncStatus).ReadOnly();
}
}
如果我只有一个id,我可以设置一个Column,但是对于composite我不能。
我该怎么做?
我找到了如何做到这一点。 在 CompositeId 中有一个参数用于添加 table 引用。
public class MapProduction : ClassMap<Production>
{
public MapProduction()
{
CompositeId()
.KeyProperty(c => c.ProductionCode, "P_PRO")
.KeyProperty(c => c.Cycle, "C_CIC")
.KeyProperty(c => c.Crop, "C_CUL")
.KeyProperty(c => c.TechnologyLevel, "C_NVT");
Map(c => c.Area).Column("A_ARE");
Map(c => c.Productivity).Column("P_ARE");
Map(c => c.syncStatus).ReadOnly();
}
}