Odata 小田打破了与非传统的联系
我想做一个非常规的连接,像这样:Odata 小田打破了与非传统的联系,odata,ef-core-2.2,Odata,Ef Core 2.2,我想做一个非常规的连接,像这样: builder.HasOne(x => x.MATERIAL_OBJ) .WithMany() .HasForeignKey(c => c.MATERIAL) .HasPrincipalKey(p => p.MATERIAL_CODE); 因为我的一个表中的数据来自外部源,我需要通过非PK(VARCHAR)字段与另一个表进行连接。 我的表格如下: 过渡表 +---------+----------+ | I
builder.HasOne(x => x.MATERIAL_OBJ)
.WithMany()
.HasForeignKey(c => c.MATERIAL)
.HasPrincipalKey(p => p.MATERIAL_CODE);
因为我的一个表中的数据来自外部源,我需要通过非PK(VARCHAR)字段与另一个表进行连接。
我的表格如下:
过渡表
+---------+----------+
| ID | MATERIAL |
+---------+----------+
| 1 | ABC |
| 2 | HIJ |
+---------+----------+
材料表:
+---------------+---------------+
| MATERIAL_CODE | SUPPLIER_NAME |
+---------------+---------------+
| ABC | SUP 1 |
| DEF | SUP 2 |
+---------------+---------------+
transits表总是满的,有时还有我们没有的材料。如果我们有材料,那么对象正确填充,我面临的问题是,每当材料不在表中时,我的odata就不能正常工作,破坏了返回对象,如下所示:
有没有办法让odata返回null,而不是破坏返回
编辑:下面是返回值:
{"@odata.context":"http://MYAPI/odata/$metadata#TRANSIT(Id,MATERIAL,MATERIAL_OBJ,MATERIAL_OBJ()","value":[{"Id":12567,"MATERIAL":"REDACTED"
此外,这似乎与odata有关,因为对象是在API中填充的。我发现这是EF Core的一个问题,因为我使用了非常规的映射。我决定改为查看,并将其映射到EF。请不要图像。尽可能发布文本。此外,图像中的json没有明确说明返回对象是如何被破坏的。也许你也应该发布一个正确的返回对象。将私有字符串替换为其他内容,而不是空白。您好,很抱歉响应延迟。谢谢你的图片提示。关于结果,它被破坏了,因为返回值只是,它没有关闭对象,它停在第六行。