代码之家  ›  专栏  ›  技术社区  ›  toddmo

跨2个跃点在实体框架中查找相关项

  •  0
  • toddmo  · 技术社区  · 8 年前

    以下是我的数据模型的相关部分:

    data model

    我有一个通用数据输入屏幕,它知道它在哪个实体上,并构建一个网格来编辑该表的数据。在我做出承诺之前,一切都很顺利。我对它进行编码,以加载一个包含服务的下拉列表,然后意识到我没有足够的信息来加载列表。

    generic data entry screen

    这是的代码 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; }
      }
    
    }
    

    作为设计该系统的人,我知道我必须只加载属于拥有包并拥有承诺的成员的服务。但作为一个通用数据输入屏幕,我怎么知道呢?我不能硬编码任何东西。

    有没有一种方法可以对承诺进行注释,以指示可以从中选择服务的服务列表?某种约束(Service_Id必须来自(从服务中选择Id,其中Member_Id=?

    Promises中的任何内容都是通用数据输入屏幕的公平游戏,只要它是逻辑的和一致的,我就可以对实体目录中的任何输入屏幕应用相同的规则。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Community Michael Schmitz    7 年前

    我按照 How to relate two unrelated foreign keys back to the same entity .

    fixed data model

    在那之后,我只需要给网格大脑看复合外键并得到受以下约束的选择 Member_Id .