【问题标题】:C# Append One DTO result to another DTO resultC# 将一个 DTO 结果附加到另一个 DTO 结果
【发布时间】:2016-12-09 16:14:25
【问题描述】:

我在 C# MVC Web 应用程序中有两个 DTO 类,我需要返回从一个类生成的列表,其中包含由第一个列表中的第二个生成的数据列表。 (想想嵌套数组,例如 [0[a,b], 1[a,b,c], 2[a,b,c,d], 3,[a], etc...])

这是一个内部应用程序,工作人员可以在其中对其他人进行有关其工作角色的教育。

以下是我目前所拥有的

        //Abstract code representative of end goal

        var foo = from x in _fooCtx.Foo
                     where (x.Condition1 && x.Condition2 && x.Condition3 && x.Condition4 > 0)
                     select new Models.ResourceDTO()
                     {
                         FirstName = x.FirstName,
                         LastName = x.LastName,
                         ResourceID = x.ResourceID,
                     };



        //currently loops through each memeber of staff in list above and grabs their wamits history.
        foreach (var foobar in foo)
        {
            int foobarID = foo.ResourceID;

            var bar = from u in _barCtx.BarViews
                                where (u.PupilID == foobarID || u.TeacherID == foobarID)
                                select new Models.ApplicationDTO()
                                {
                                    pupilName = u.Pupil,
                                    teacherName = u.Teacher,
                                    appDate = u.appDate.ToString(),
                                    appID = u.ID,

                                };

            var leaderList = bar.ToList();
        }

上述方法可以很好地获取活跃员工列表,然后循环浏览他们之前可能完成的任何会话。我需要返回员工列表,其中每个成员都有由 foreach 循环中的第二个 DTO 选择生成的列表。所以一个 foo 数据列表和一个 bar 数据列表。如果这是有道理的。

【问题讨论】:

    标签: c# dto


    【解决方案1】:

    创建自定义 DTO

    Public class test
    {
    // add required properties along with list of ApplicationDTO 
    // so it will be something like this (getter setters)
    
    FirstName 
    
    LastName
    
    ResourceID
    
    List<ApplicationDTO>
    }
    

    然后你可以创建一个这个测试类的列表并使用它

    P.S :这只是一个示例,可帮助您了解如何实现这一目标

    【讨论】:

    • 感谢您的建议,但我认为这不是我想要的。我已经为资源和应用程序提供了两个单独的 DTO 类。我需要将在 foreach 语句中获得的结果附加到 ResourceDTO 选择中的结果的末尾。所以返回 foo.ToList() 还将包含我需要针对每个用户的应用程序数据。
    猜你喜欢
    • 1970-01-01
    • 2021-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-29
    • 1970-01-01
    • 2019-08-11
    相关资源
    最近更新 更多