【发布时间】:2013-10-08 18:11:59
【问题描述】:
我的方法具有 LINQ 查询和来自多个表的查询返回列。
如何返回该 LINQ 结果对象并在调用方方法迭代结果中捕获它并分配给模型类?
public ??? GetLocation(string CustomerNum)
{
if (!string.IsNullOrEmpty(CustomerNum))
{
var results = from ca in _context.CUS_ADDRESS
join cad in _context.CUS_ADDRESS_DETAIL on ca.CUS_ADDRESS_ID equals cad.CUS_ADDRESS_ID
where (cad.PRIORITY_SEQ == 0) && (ca.MASTER_CUSTOMER_ID == CustomerNum)
select new
{
CustomerNumber = ca.MASTER_CUSTOMER_ID,
ca.ADDRESS_1,
ca.ADDRESS_2,
ca.ADDRESS_3,
ca.ADDRESS_4,
ca.CITY,
ca.STATE,
ca.COUNTRY_DESCR,
cad.ADDRESS_TYPE_CODE,
cad.ADDRESS_STATUS_CODE
};
return results;
}
else
{
return null;
}
}
调用方法
var results = Data.GetLocation(CustomerNum)
if (results.Any())
{
var location = results.FirstOrDefault();
.....
.....
}
GetLocation 返回类型是什么?
【问题讨论】:
-
目前您正试图返回一个元素类型为匿名类型的序列。您可能想要创建一个
Location类型来代替您的匿名类型。
标签: c# linq entity-framework