问题标签 [navigational-properties]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
52 浏览

c# - 实体框架核心,仅在之前未加载的情况下如何加载导航参数?

一旦延迟加载尚未在 Entity Framework Core 上实现,我如何从类中加载导航属性,但前提是在使用 Entity Framework Core 之前未加载它。例如。这节课

我只能使用myinstance.CountChildren()if Childrenwas loaded 来计算孩子的数量,例如使用急切加载或显式加载

但我想验证Children之前是否加载了导航属性。如果没有,则强制它加载。这有可能吗?我该怎么做?

0 投票
2 回答
68 浏览

c# - 为什么导航属性返回为空?

我在课堂上有导航属性。它在数据库中有关联,但不返回来自员工信息导航属性类型的数据。

Info 类与 Visa 类有一对多的关系,也在数据库中。

鉴于:

item.Employees为空。为什么?甚至表格中都有数据。

更新:

此外,这是行不通的。因此,总体而言,无论出于何种原因,员工都被空置返回。

更新:

这也行不通。

两个实体都返回空

0 投票
1 回答
65 浏览

entity-framework - 在实体框架中选择可选导航属性的属性的正确方法是什么?

选择可选导航属性实体框架的属性的正确方法是什么?

我担心如果导航属性为空,那么当我尝试访问其(可选导航属性)属性时会引发错误。

这是我尝试过的:

代码:rc.CasesRelationType?.Name产生错误:

表达式树 lambda 可能不包含空传播运算符。

这是否意味着我应该执行第二个请求以获取可选导航属性的所有属性?或者有没有办法查询可选导航属性的属性,以防可选导航属性不为空,否则返回空?

0 投票
1 回答
46 浏览

c# - 关于保存相关实体的 EF 与 EF Core

我有两个相关实体,如下所示

在 EF6 中,我可以按如下方式保存这些相关对象并且工作正常。

上述代码在 EF Core 中不起作用,因为 Subject 实体中的 StudentId 始终没有价值。

为了能够保存在 EF Core 我必须如下

EF Core 中发生了哪些更改,因此我必须更改语法才能保存这些相关实体?

提前致谢

0 投票
1 回答
37 浏览

asp.net - 在模型类中定义导航属性

我在模型课上学习关系。有关表格关系,请参阅附图。有三个表,部门,员工,位置。当为这些表创建模型类时,我对导航属性感到困惑。员工等级:

然后在部门班:

在位置类中:

为什么 in employeeclassdepartment被定义为 likevirutal department departmentlocation被定义为virtual ICollection<location> locations. 为什么ICollection只使用位置?

department模型中,employee类被定义为,virutal ICollection<employee> employees但在location模型中雇员被定义为virutal employee employee。为什么会这样,请澄清。

同样 in employeeclasslocation定义为HashSet<location>()in constructor,为什么要这样定义?这个导航属性让我在项目中继续前进感到困惑。请让我澄清一下。谢谢你!!!

在此处输入图像描述

0 投票
2 回答
55 浏览

c# - 在 EF Core 中更新导航属性将它们设置为 null

当我尝试更新 Entity Framework Core 中的导航属性时,我遇到了一些异常行为,它将值设置为 null,然后从数据库中删除记录。

简化示例:

导致问题的代码:

一旦SaveChangesAsync调用 ,Hla就会被设置为 null - 来自即时窗口的输出:

在此处输入图像描述

然而,如果我有一个简单的“直接”映射器,它似乎工作得很好。

更简单的映射器:

然后我得到即时窗口输出:

在此处输入图像描述

我有点困惑为什么会发生这种情况,这对我来说似乎没有意义。

如果我使用自动映射器等也会发生这种情况。

我错过了什么?