在 2 个跃点中查找 Entity Framework 中的相关项目
Finding related items in Entity Framework across 2 hops
这是我的数据模型的相关部分:
我有一个通用的数据输入屏幕,它知道它在哪个实体上,并构建一个网格来编辑该 table 的数据。在我到达 Promises 之前,一切都很顺利。我编写代码以加载服务下拉列表,然后意识到我没有足够的信息来加载列表。
这是 Promise
的代码:
namespace biz
{
public class Promise: EFObject<Promise>
{
public int Sequence { get; set; }
public decimal Hours { get; set; }
[ForeignKey("Service")]
public int Service_Id { get; set; }
public Service Service { get; set; }
public Constraint[] Constraints;
//public Dollars Allocation { get; set; }
}
}
作为设计系统的人,我知道我必须只加载属于拥有承诺的包的成员的服务。但作为一个通用的数据输入屏幕,我怎么知道呢?我什么都不会hard-code。
有没有一种方法可以注释承诺以指示可以从中选择服务的服务列表?某种约束 (Service_Id 必须来自 (select Id from Services where Member_Id = ?
Promises 中的任何内容都适用于通用数据输入屏幕,只要它符合逻辑且一致,我就可以将相同的规则应用于实体目录中任何位置的任何输入屏幕。
我根据 修复了外键。
之后,我只需要给网格开脑洞,看看复合外键,得到受Member_Id
约束的选择。
这是我的数据模型的相关部分:
我有一个通用的数据输入屏幕,它知道它在哪个实体上,并构建一个网格来编辑该 table 的数据。在我到达 Promises 之前,一切都很顺利。我编写代码以加载服务下拉列表,然后意识到我没有足够的信息来加载列表。
这是 Promise
的代码:
namespace biz
{
public class Promise: EFObject<Promise>
{
public int Sequence { get; set; }
public decimal Hours { get; set; }
[ForeignKey("Service")]
public int Service_Id { get; set; }
public Service Service { get; set; }
public Constraint[] Constraints;
//public Dollars Allocation { get; set; }
}
}
作为设计系统的人,我知道我必须只加载属于拥有承诺的包的成员的服务。但作为一个通用的数据输入屏幕,我怎么知道呢?我什么都不会hard-code。
有没有一种方法可以注释承诺以指示可以从中选择服务的服务列表?某种约束 (Service_Id 必须来自 (select Id from Services where Member_Id = ?
Promises 中的任何内容都适用于通用数据输入屏幕,只要它符合逻辑且一致,我就可以将相同的规则应用于实体目录中任何位置的任何输入屏幕。
我根据
之后,我只需要给网格开脑洞,看看复合外键,得到受Member_Id
约束的选择。