gpt4 book ai didi

nhibernate - 流利的NHibernate映射-状态模式

转载 作者:行者123 更新时间:2023-12-04 01:13:30 25 4
gpt4 key购买 nike

我对NHibernate / FNH Mapping不太感兴趣,但是我正在考虑实现状态模式,并且喜欢Derick Bailey在这里的文章的想法:

我相信这是前一段时间,因此映射代码已过期,有人可以帮我更新FNH 1.1吗?

public class OrderStatusMap: ClassMap<OrderStatus>
{
public OrderStatusMap()
{
CreateMap();
}

public void CreateMap()
{
DefaultAccess.AsProperty();
WithTable("OrderStates");
Id(s => s.Id).GeneratedBy.Assigned();

DiscriminateSubClassesOnColumn<string>("Name")
.SubClass<InProcessStatus>()
.IsIdentifiedBy(OrderStatus.InProcess.Name)
.MapSubClassColumns(x => { })

.SubClass<TotaledStatus>()
.IsIdentifiedBy(OrderStatus.Totaled.Name)
.MapSubClassColumns(x => { })

.SubClass<TenderedStatus>()
.IsIdentifiedBy(OrderStatus.Tendered.Name)
.MapSubClassColumns(x => { })

.SubClass<DeliveredStatus>()
.IsIdentifiedBy(OrderStatus.Delivered.Name)
.MapSubClassColumns(x => { })

Map(s => s.Name);
}
}


他的文章在这里是其余代码的:
http://www.lostechies.com/blogs/derickbailey/archive/2008/11/26/mapping-a-state-pattern-with-nhibernate.aspx

非常感谢你!

保罗

最佳答案

我正在使用1.1,这是语法。

public class OrderStatusMap: ClassMap<OrderStatus>
{
public OrderStatusMap()
{
DefaultAccess.AsProperty();
WithTable("OrderStates");
Id(s => s.Id).GeneratedBy.Assigned();
Map(s => s.Name);
DiscriminateSubClassesOnColumn<string>("Name");
}
}

public class InProcessStatusMap : SubclassMap<InProcessStatus>
{
public InProcessStatusMap()
{
DiscriminatorValue(OrderStatus.InProcess.Name);
}
}

public class TotaledStatusMap : SubclassMap<TotaledStatus>
{
public TotaledStatusMap()
{
DiscriminatorValue(OrderStatus.TotaledStatus.Name);
}
}

etc...

关于nhibernate - 流利的NHibernate映射-状态模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3838361/

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