Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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
nhibernate在不使用外键时有许多_Nhibernate_Fluent Nhibernate_Foreign Keys - Fatal编程技术网

nhibernate在不使用外键时有许多

nhibernate在不使用外键时有许多,nhibernate,fluent-nhibernate,foreign-keys,Nhibernate,Fluent Nhibernate,Foreign Keys,假设我有一个请求表,如下所示: RequestId INT ReferenceNumber VARCHAR 每个请求都记录在requestlog表中。表之间没有外键: RequestLogId INT ReferenceNumber VARCHAR Content VARCHAR requestlog包含请求的内容,该内容需要存储一段时间。请求可以删除,但日志只能在一段时间后删除 我如何映射我的请求对象,使其能够包含基于referencenumber的请求日志列表 我试过这个

假设我有一个请求表,如下所示:

RequestId INT  
ReferenceNumber VARCHAR
每个请求都记录在requestlog表中。表之间没有外键:

RequestLogId INT  
ReferenceNumber VARCHAR  
Content VARCHAR  
requestlog包含请求的内容,该内容需要存储一段时间。请求可以删除,但日志只能在一段时间后删除

我如何映射我的请求对象,使其能够包含基于referencenumber的请求日志列表

我试过这个:

Table("InsuranceRequest");  
Id(i => i.Id).Column("InsuranceRequestId");  
Map(i => i.ReferenceNumber);  
HasMany(i => i.InsuranceRequestLog).KeyColumn("RefenceNumber").LazyLoad.Cascade.None();

但它不起作用。此映射尝试将referencenumber映射到requestlog的RequestLogId。有没有办法指定联接列应该是insurancerequestlog referencenumber?

没有什么可以阻止表结构中的多对多。。 我建议更改结构并使它们成为外键,并且我确信如果结构更改后映射i不工作,那么多对多映射将适用于u

给你的另一个建议是: 获取一个空数据库并尝试公开架构。。 然后你就能看到nhibernate认为结构应该是什么样子