代码之家  ›  专栏  ›  技术社区  ›  Mike Fielden

查询GetChangeSet()以查找特定对象?

  •  3
  • Mike Fielden  · 技术社区  · 14 年前

    给出以下代码:

    Animal a = new Animal { Name = "Rover", Type = "Dog" };
    ctx.Animal.InsertOnSubmit(a);
    

    DataContext 使用 GetChangeSet() 查看此对象是否已存在于变更集中?

    GetChangeSet().Insert 返回一个 IList<object> 我对如何找到它一无所知。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Mike Fielden    14 年前

    我想出来了。。。使用问题代码

    ctx.GetChangeSet().Inserts.Any(ani => ani as Animal != null 
                                       && ((Animal) ani).Name == a.Name); 
    
        2
  •  1
  •   hIpPy    12 年前

    你可以用 OfType<T>() 而不是扩展方法。稍微干净点。

    ctx.GetChangeSet().Inserts
    .OfType<Animal>().Any(ani => ani.Name == a.Name);