C# 在另一个IEnumerable中使用IEnumerable属性初始化

C# 在另一个IEnumerable中使用IEnumerable属性初始化,c#,C#,我有以下课程: public class InitialData { public IEnumerable<Employee> Employees { get; set; } } public class Employee { public int Id { get; set; } public string Name { get; set; } public IEnumerable<Orders

我有以下课程:

public class InitialData
{        
    public IEnumerable<Employee> Employees { get; set; }        
}

public class Employee
{
    public int Id { get; set; }
    public string Name { get; set; }        
    public IEnumerable<Orders> Orders { get; set; }
}

public class Orders
{        
    public int OrderId { get; set; }
    public int Number { get; set; }
}
第二个结果集与员工Id有关系,员工Id 3没有任何订单

我想获取所有订单并将其放入Employee类中,而不使用Employee Id, 只需OrderId和编号,因为对于每个员工,我都有一个Orders属性,其中包含OrderId和编号,这样我就知道员工属于哪一个

在我的存储库中,我有:

var model = new InitialData();

using (var db = new AuditContext())
{
    var cmd = db.Database.Connection.CreateCommand();

    cmd.CommandText = "[dbo].[EnployeeDataSelect]";
    cmd.CommandType = CommandType.StoredProcedure;

    try
    {
        db.Database.Connection.Open();
        var reader = cmd.ExecuteReader();

        reader.NextResult();
        model.Employees = ((IObjectContextAdapter)db).ObjectContext.Translate<Employees>(reader).ToList();

        Now how can I put the orders under the Employees property of InitialData class filter each with the Id?
        ???
    }
    catch (Exception e)
    {
    }
}
var model=newinitialdata();
使用(var db=new AuditContext())
{
var cmd=db.Database.Connection.CreateCommand();
cmd.CommandText=“[dbo].[EnployeeDataSelect]”;
cmd.CommandType=CommandType.storedProcess;
尝试
{
db.Database.Connection.Open();
var reader=cmd.ExecuteReader();
reader.NextResult();
model.Employees=((IOObjectContextAdapter)db.ObjectContext.Translate(reader.ToList();
现在,我如何将订单放在InitialData类过滤器的Employees属性下,每个订单都带有Id?
???
}
捕获(例外e)
{
}
}

我想为每个员工筛选我的订单,并将其放入属性orders中,计算我从存储过程中收到的结果。

我认为除了将员工id放入order类之外,您没有很多选择

class Order
{ 
    public int Id {get; set;}
    public int OrderId {get; set;}
    public int Number {get; set;
}
...
var oc = (IObjectContextAdapter)db).ObjectContext;
var orders = oc.Translate<Order>(reader).ToLookup(x => x.Id);
foreach(var employee in model.Employees)
    employee.Orders = orders[employee.Id].ToList();
class Order
{ 
    public int Id {get; set;}
    public int OrderId {get; set;}
    public int Number {get; set;
}
...
var oc = (IObjectContextAdapter)db).ObjectContext;
var orders = oc.Translate<Order>(reader).ToLookup(x => x.Id);
foreach(var employee in model.Employees)
    employee.Orders = orders[employee.Id].ToList();
class EmployeeOrder
{ 
    public int Id {get; set;}
    public int OrderId {get; set;}
    public int Number {get; set;
}
...
var orders = oc.Translate<EmployeeOrder>(reader).ToLookup(x => x.Id);
employee.Orders = orders[employee.Id].Select(x => new Order
{
    OrderId = x.OrderId,
    Number = x.Number
}.ToList();