函数返回值

Mas*_*mie 3 c# linq function return-value

我有2张桌子:CustomerCustomer_Address

我有一个功能:

public IEnumerable<Customer_Address> ReadAddressForCustomer(int CustomerID)
{
    ProjectServiceForCustomerDataContext DB = new ProjectServiceForCustomerDataContext();
    var CA = (from C in DB.Customer_Addresses
              join cust in DB.Customers
              on C.CustomerID equals cust.ID
              where C.CustomerID == CustomerID
              select new
              {
                  CustomerName=cust.Name,
                  CustomerAddress=C.Address,
                  CustomerTel=C.Telephone
              }).ToList();
    return CA;
}
Run Code Online (Sandbox Code Playgroud)

但CA不是IEnumerable(Customer_Address)因为它有Customerfield(cust.Name)

我怎么解决这个问题 ?

ole*_*sii 5

你返回一个匿名类型,这就是为什么它不是 IEnumerable<Customer_Address>

尝试使用类似的东西

var CA = (from C in DB.Customer_Addresses
                  join cust in DB.Customers
                  on C.CustomerID equals cust.ID
                  where C.CustomerID == CustomerID
                  select new Customer_Address( // <--- HERE
                      cust.Name,
                      C.Address,
                      C.Telephone
                  ).ToList();
Run Code Online (Sandbox Code Playgroud)