NHibernate-有很多-有一个-ICriteria

NHibernate-有很多-有一个-ICriteria,nhibernate,fluent-nhibernate-mapping,Nhibernate,Fluent Nhibernate Mapping,我有以下表格: 表格材料 Id 桌面区域 Id 表格材料区 Id 物料标识 区域Id 价格 编辑 我需要的是在Material对象中有MaterialZone(当前区域),我不知道是否可以通过映射或查询来解决它,因为关系“Id”在MaterialZone表中 地图 MapMaterialZone() { Id(x => x.Id).GeneratedBy.Identity(); ///Properties References(x

我有以下表格:

表格材料
Id
桌面区域
Id
表格材料区
Id
物料标识
区域Id
价格


编辑
我需要的是在Material对象中有MaterialZone(当前区域),我不知道是否可以通过映射或查询来解决它,因为关系“Id”在MaterialZone表中

地图

MapMaterialZone()
    {
        Id(x => x.Id).GeneratedBy.Identity();
        ///Properties
        References(x => x.Material).Column("material_id");
        References(x => x.Zone).Column("zone_id");
    }

MapZona()
    {
        Id(x => x.Id).GeneratedBy.Identity();
        ///Properties
    }
MapMaterial()
    {
        Id(x => x.Id).GeneratedBy.Identity();
        ///Properties
        //HasMany(x => x.ListMaterialZone);
        //HasOne(x => x.IndividualMaterialZone).PropertyRef(MaterialZona => MaterialZona.Material);
    }
我首先尝试添加并映射IList,MaterialZone属性在列表中搜索并返回带有当前区域的属性,但查询和控件速度太慢。(我正在使用Access和ComponentOne)

我曾试图通过映射和查询来解决这个问题,但运气不太好。我在NHibernate和绘图方面有中等经验,在QueryOver和ICriteria方面经验很少

我对所有的解决方案都持开放态度(但不幸的是,我必须保持访问权)
谢谢。

我找到了一个解决方案,我的地图

MaterialMap
HasOne(x => x.MaterialZona).PropertyRef(materialZona => materialZona.Material);
最后一个问号是什么

ISession session = GetSession();
Zona zonaPredeterminada = GetDefaultZone();
Material materialAlias = null;
MaterialZona materialZonaAlias = null;

return session.QueryOver<Material>(() => materialAlias)
    .JoinQueryOver(mat => mat.MaterialZona, () => materialZonaAlias)
    .Where(mZ => mZ.Zona.Id == zonaPredeterminada.Id)
    .And(mZ => mZ.Material.Id == materialAlias.Id)
    .List();
ISession session=GetSession();
Zona zonaPredeterminada=GetDefaultZone();
物料属性=空;
MaterialZona materialZonaAlias=null;
return session.QueryOver(()=>materialAlias)
.JoinQueryOver(材料=>材料地带,()=>材料地带别名)
其中(mZ=>mZ.Zona.Id==zonaPredeterminada.Id)
.和(mZ=>mZ.Material.Id==materialAlias.Id)
.List();

您好,您实际上没有问任何问题。你能编辑一下并问个问题吗。此外,如果您也复制和粘贴映射文件和类,这将非常有用。你事先提供的信息越多,别人就越容易回答你的问题。谢谢。真的,我忙着解释我没问这个问题,对不起,这是我第一次,我会编辑这篇文章