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

如何检查实体是否处于多对多关系中

  •  0
  • DrydenMaker  · 技术社区  · 15 年前

    我有一个“用户”表,一个“电话号码”表和一个“用户对电话号码映射”表。电话号码表只存储唯一的电话号码。这样我就可以查看一个电话号码,看看谁很容易使用它。在编辑用户时,也很容易检查电话号码是否存在。

    问题是我应该如何检查电话号码是否应该添加到地图上。我可以循环访问加载的映射用户并检查每个ID。必须有一个方法可以像edmuser.phone_number_map.contains(phone number)一样检查。但是我找不到这样的东西。

    1 回复  |  直到 15 年前
        1
  •  0
  •   Craig Stuntz    15 年前

    假定实体拥有一个名为 PhoneNumber 它包含数字的字符串…

    var pnm = EdmUser.phone_number_map; // to save typing later on...
    if !(pnm.IsLoaded) pnm.Load();
    var existing = pnm.Where(pn => pn.PhoneNumber.Equals(PhoneNumber, StringComparison.WhateverYouNeed)).FirstOrDefault();
    if (existing == null)
    {
        pnm.Add(new PhoneNumberEntity { PhoneNumber = PhoneNumber } );
    }
    else
    {
        // do stuff with "existing", if need be.
    }
    Context.SaveChanges();
    

    如果我猜错了您的元数据,请相应地进行调整。