You can split your query in two to make sure the list is in-memory before calling the GetNumberOfDevices()
method. You can make a query in-memory by converting the results to a List
, or in this case a List<GetFreeDevices>
. That way, LinQ to Entities does not have to do any translations to and from XML and you can use your GetNumberOfDevices()
method.
var view_query = (from i in query
select new GetFreeDevices
{
MArticleNumber = i.ArticleNumber,
MFirmware = i.Firmware,
MGroup = i.Group,
MName = i.Name,
MSoftware = i.SoftwareVersion
}).ToList();
var result_query = from i in query
select new GetFreeDevices
{
MArticleNumber = i.MArticleNumber,
MFirmware = i.MFirmware,
MGroup = i.MGroup,
MName = i.MName,
MSoftware = i.MSoftware,
SA = GetNumberOfDevices(i.MArticleNumber,2),
STH = GetNumberOfDevices(i.MArticleNumber,3),
SASTH = GetNumberOfDevices(i.MArticleNumber,7)
};
return PartialView(result_query);
Please note that the last statement requires the PartialView to accept a list or IEnumerable
instead of an IQueryable
.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…