Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# fluent-nhibernate父子映射_C#_Nhibernate_Fluent Nhibernate_Mapping_Nhibernate Mapping - Fatal编程技术网

C# fluent-nhibernate父子映射

C# fluent-nhibernate父子映射,c#,nhibernate,fluent-nhibernate,mapping,nhibernate-mapping,C#,Nhibernate,Fluent Nhibernate,Mapping,Nhibernate Mapping,当我尝试映射嵌套的父子关系时,FluentNHibernate有问题。 当我尝试这样的查询时: var courier = session.Query<Courier>().FirstOrDefault(x => x.Code == "X"); 我用提供的映射制作了一个简单的应用程序,我发现了其中的一个缺陷 在您使用的DistributionCenter地图中 Id(x => x.Guid).GeneratedBy.Assigned().Column("Guid");

当我尝试映射嵌套的父子关系时,FluentNHibernate有问题。 当我尝试这样的查询时:

var courier = session.Query<Courier>().FirstOrDefault(x => x.Code == "X"); 

我用提供的映射制作了一个简单的应用程序,我发现了其中的一个缺陷 在您使用的DistributionCenter地图中

Id(x => x.Guid).GeneratedBy.Assigned().Column("Guid");
而不是

Id(x => x.Guid).GeneratedBy.Guid().Column("Guid");

我在一个测试运行中添加了一些行,其中两行是Code==“X”,第一行没有问题。尝试一下

查询将返回正确的结果。Distributioncenter.Courierprices集合应包含链接到Distributioncenter的所有Courierprices。

如果您尝试session.QueryOver()。其中(x=>x.Code==“x”).Take(1.SingleOrDefault();如果这不起作用,我希望看到你的地图不幸地没有改变。我编辑了帖子并添加了映射代码。您不必调用LazyLoad(),这是默认值。是的,但是我的目的是让Distributioncenter。Courierprices集合只包含Courier“X”的Courierprices。
assigned
是用于GUID的合理生成器,前提是您实际上是使用
Guid.NewGuid()
自己分配它们。
Id(x => x.Guid).GeneratedBy.Assigned().Column("Guid");
Id(x => x.Guid).GeneratedBy.Guid().Column("Guid");