我有以下课程:
public abstract class AbstractGeometry : IGeometry
{
// something
}
public class CompositeGeometry : AbstractGeometry
{
IGeometry MainGeometry { get; set; }
IList<IGeometry> Geometries { get; set; }
}所以CompositeGeometry有一个MainGeometry和一个几何图形列表。任何给定的几何都可能属于多个CompositeGeometries。
我有一个映射类用于AbstractGeometry,另一个映射类用于CompositeGeometry。
现在我想知道:是否可以处理CompositeGeometry映射类中几何图形列表的映射?
在数据库中,我已经创建了三个表: AbstractGeometry、CompositeGeometry和CompositeGeometryElements。
CompositeGeometry表包含一个AbstractGeometryId和一个MainGeometryId。
CompositeGeometryElements表包含一个CompositeGeometryId和一个AbstractGeometryId。
发布于 2022-06-21 14:54:44
public class AbstractGeometryMap : ClassMap<CompositeGeometry>
{
public AbstractGeometryMap()
{
Id(x => x.Id);
}
}
public class CompositeGeometryMap : SubclassMap<CompositeGeometry>
{
public CompositeGeometryMap()
{
References(x => x.MainGeometry, "MainGeometryId");
HasManyToMany(x => x.Geometries)
.Table("CompositeGeometryElements")
.ParentKeyColumn("CompositeGeometryId")
.ChildKeyColumn("CompositeGeometryId");
}
}https://stackoverflow.com/questions/71997531
复制相似问题