簡體   English   中英

如何使用 Linq to Sql 填充復雜對象

[英]How to populate a complex object using Linq to Sql

我是 Linq 的新手。 我必須使用 Linq to Sql 將數據從 sql server 投影到復雜對象。 復雜對象是 Employee 類,它具有另一個類 EmployeeDetail 作為屬性。 我能夠填充 Employee 類,但無法填充 EmployeeDetail。 我在下面附上了我的代碼。 顯然,我必須在 select new Employee 塊中實例化 EmployeeDetail 並附加它。 不幸的是,我不知道該怎么做。

public class Employee
{
    public String Email { get; set; }        
    public String EmployeeId { get; set; }   
    public EmployeeDetail employeeDetail { get; set; }    
}

public class EmployeeDetail
{
    public String PhoneNumber { get; set; }
    public String Address { get; set; }
}

public class Data
{
    public List<Employee> GetEmployee()
    {
        EmployeeDataContext dbDontext = new EmployeeDataContext ();

        var employees = from i in dbDontext.Employee
                    join m in dbDontext.Employee on i.Employee_Id equals 
                    m.Emplyee_Detail_Id
                    select new Employee
                    {
                        Email = i.email,
                        EmployeeId = i.employee_Id.ToString(),
                        //how to get data for the EmployeeDetail property 
                        //with PhoneNumber  and Address values populated?
                    };
        var employeeList = employees.ToList();
        return employeeList;
    }
}

這不是一個真正的 LINQ 問題,更像是一個對象初始值設定項的問題。 初始化對象時,可以設置其屬性:

new Employee
{
    Email = i.email,
    EmployeeId = i.employee_Id.ToString() 
}

其對象類型屬性的語法也是如此:

new Employee
{
    Email = i.email,
    EmployeeId = i.employee_Id.ToString(),
    employeeDetail = new EmployeeDetail
    {
        PhoneNumber = ...,
        Address = ...
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM