首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FluentNHibernate:如何映射列表的元素

FluentNHibernate:如何映射列表的元素
EN

Stack Overflow用户
提问于 2022-04-25 09:44:30
回答 1查看 13关注 0票数 0

我有以下课程:

代码语言:javascript
复制
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。

EN

回答 1

Stack Overflow用户

发布于 2022-06-21 14:54:44

代码语言:javascript
复制
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");
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71997531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档