首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非常规关联的Odata中断

非常规关联的Odata中断
EN

Stack Overflow用户
提问于 2019-10-23 03:20:30
回答 1查看 54关注 0票数 0

我正在尝试进行一个非常规的连接,就像这样:

代码语言:javascript
复制
builder.HasOne(x => x.MATERIAL_OBJ)
      .WithMany()
      .HasForeignKey(c => c.MATERIAL)
      .HasPrincipalKey(p => p.MATERIAL_CODE);

因为我的一个表中的数据来自外部源,并且我需要通过非PK (VARCHAR)字段与另一个表进行连接。我的表格如下:

转换表

代码语言:javascript
复制
+---------+----------+
| ID      | MATERIAL |
+---------+----------+
| 1       | ABC      |
| 2       | HIJ      |
+---------+----------+

材料表:

代码语言:javascript
复制
+---------------+---------------+
| MATERIAL_CODE | SUPPLIER_NAME |
+---------------+---------------+
| ABC           | SUP 1         |
| DEF           | SUP 2         |
+---------------+---------------+

中转台总是坐满了人,有时还会摆满我们没有的材料。如果我们有材料,那么对象被正确填充,我面临的问题是,每当材料不存在于表中时,我的odata就不能正常工作,破坏返回对象,如下所示:

有没有办法让odata返回null,而不是中断返回?

编辑:返回值如下:

代码语言:javascript
复制
{"@odata.context":"http://MYAPI/odata/$metadata#TRANSIT(Id,MATERIAL,MATERIAL_OBJ,MATERIAL_OBJ()","value":[{"Id":12567,"MATERIAL":"REDACTED"

此外,这似乎与odata有关,因为对象是在API中填充的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-05 22:34:45

我意识到这是EF Core的一个问题,因为我做了非常规的映射。我决定做一个视图,并将其映射到EF。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58510982

复制
相关文章

相似问题

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