这是我的数据模型的相关部分:
我有一个通用数据输入屏幕,它知道它所在的实体,并构建一个网格来编辑该表的数据。一切都很顺利,直到我得到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; }
}
}
作为设计系统的人,我知道我必须只加载属于拥有承诺的包的成员的服务。但作为通用数据输入屏幕,我怎么知道呢?我无法对任何事情进行硬编码。
有没有办法可以对promises进行注释,以指出可以从中选择服务的服务列表?某种约束(Service_Id必须来自(从服务中选择Id,其中Member_Id =?
)Promise中的任何内容都是通用数据输入屏幕的公平游戏,只要它具有逻辑性和一致性,我就可以将相同的规则应用于实体目录中任何位置的任何输入屏幕。
答案 0 :(得分:0)
我按照How to relate two unrelated foreign keys back to the same entity修复了外键。
在那之后,我只需要给网格大脑来查看复合外键并获得受Member_Id
约束的选择。