【问题标题】:Filter nested DTOs with key使用键过滤嵌套的 DTO
【发布时间】:2013-01-23 15:13:21
【问题描述】:

我有 DTO Suach 的列表:

 Public Class UKey
{
    public Int64 Key{ get; set; }

}

Public Class Test : UKey
{
    public Int64? CityId  { get; set; }
    public Test2  test2{ get; set; }
}
Public Class Test2 : UKey
{
    public Int64? CountryId { get; set; }
    public Test3 test3 {get;set;}
}
public Class Test3 :UKey
{

}

我有嵌套的 DTO,例如 class test 有一个 class test 2 的成员, class test2 有一个 type class test 3 的成员,每个类都有自己的唯一键,这个键不能在任何一个中重复,类似于 GUId 的东西。 我想查询 Class Test 以找到具有给定唯一键的嵌套 Dto 之一。

【问题讨论】:

    标签: linq c#-4.0 entity-framework-4 linq-to-objects public


    【解决方案1】:

    假设tests对象是IEnumerable,即一组Test对象;

    tests.SingleOrDefault(q => q.test2.Key == id || q.test2.test3.Key == id);
    

    更新:您需要应用递归搜索。我稍微改变了基类;

    public class UKey
    {
    public Int64 Key { get; set; }
    public UKey ReferencedEntity { get; set; }
    }
    

    以及搜索功能:

    private UKey Search(UKey entity, Int64 id)
    {
        UKey result = null;
        if (entity.Key == id)
            result = entity;
        else
        {
            result = this.Search(entity.ReferencedEntity,id);
        }
        return result;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      • 2011-09-25
      • 2021-10-29
      • 1970-01-01
      • 2021-08-13
      • 2021-10-18
      • 1970-01-01
      相关资源
      最近更新 更多