4

我有一个如下的 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;
        }
    }

但我的结果集要求演员,我得到的消息是

“无法将类型'System.Linq.IQueryable'隐式转换为'ICMAdministration.Data.AddXferData'。存在显式转换(您是否缺少演员表?)

我需要将结果集转换为类型 AddXferData。你能告诉我这是如何实现的吗?非常感谢您在这方面的帮助。

问候, 拉古

4

3 回答 3

6

如果它是一个单一的AddXferData,然后尝试:

return resultSet.First();

或者

return resultSet.FirstOrDefault();

如果它可以返回null(如未ID找到或其他)

于 2012-04-27T04:57:54.217 回答
3
return resultSet.SingleOrDefault();
于 2012-04-27T04:58:04.490 回答
1

您的查询将返回 AddXferData 对象的集合。如果您不期望单个结果,请更改函数签名。

 public list<AddXferData> DisplayXferDataToBeModified(int ID) 

并返回列表 resultSet.ToList();

于 2012-04-27T05:33:50.963 回答