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;
        }
    }

しかし、私のresultSetはキャストを要求し、私が受け取るメッセージは

「タイプ'System.Linq.IQueryable'を'ICMAdministration.Data.AddXferData'に暗黙的に変換できません。明示的な変換が存在します(キャストがありませんか?)

結果セットをキャストしてAddXferDataと入力する必要があります。これを実現する方法を教えてください。この点であなたの助けは非常に高く評価されています。

よろしく、ラグー

4

3 に答える 3

6

単一の場合はAddXferData、次を試してください。

return resultSet.First();

また

return resultSet.FirstOrDefault();

戻ることができる場合nullID見つからないか何かのように)

于 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 に答える