我有一个LINQ查询,如下所示,
public AddXferData DisplayXferDataToBeModified(int ID)
{
try
{
var resultSet = (from items in DataContext.Transfers
where items.Transfer_ID.Equals(ID)
select new AddXferData
{
XferID = items.Transfer_ID,
LogicalName = items.Logical_Name,
RoutCode = items.Route_Code,
Label = items.Label,
OnNetDNA = items.On_Net_DNA,
OnNetDNB = items.On_Net_DNB,
FailMessage = items.Failure_Message,
});
return resultSet;
}
catch (Exception ex)
{
throw ex;
}
}
但我的resultSet请求一个Cast,我收到的消息是
“无法隐式转换类型 'System.Linq.IQueryable'来 'ICMAdministration.Data.AddXferData'。存在显式转换 (你错过了演员吗?)
我需要将结果集强制转换为AddXferData类型。你能告诉我这是如何实现的吗?非常感谢您在这方面的帮助。
此致 Raghu
答案 0 :(得分:3)
如果是单AddXferData
,请尝试:
return resultSet.First();
或
return resultSet.FirstOrDefault();
如果它可以返回null
(如ID
未找到或某事)
答案 1 :(得分:2)
return resultSet.SingleOrDefault();
答案 2 :(得分:1)
您的查询将返回AddXferData对象的集合。如果您不希望单个结果,请更改功能签名。
public list<AddXferData> DisplayXferDataToBeModified(int ID)
并返回列表 resultSet.ToList();