将Linq Data查询转换为对象类型

cha*_*ara 3 linq asp.net asp.net-mvc

我收到了错误

"无法将'System.Data.Linq.DataQuery`1 [StockManagement.Models.Client]类型的对象强制转换为'StockManagement.Models.Client'."

public class Client
        {
            public int ClientID { get; set; }
            public string Name { get; set; }
            public string Address { get; set; }
            public string Mobile { get; set; }
            public string Telephone { get; set; }
            public string Fax { get; set; }
            public string Company { get; set; }
        }


private StockDataClassesDataContext dc;
 public Client GetClient(int clientID)
        {
            dc = new StockDataClassesDataContext(ConString.DBConnection);
            Client query = (Client)(from tbclient in dc.tblClients
                                  where tbclient.ClientID == clientID
                                  select new Client
                                  {
                                      Address = tbclient.Address,
                                      ClientID = tbclient.ClientID,
                                      Company = tbclient.Company,
                                      Fax = tbclient.Fax,
                                      Mobile = tbclient.Mobile,
                                      Name = tbclient.Name,
                                      Telephone = tbclient.Telephone
                                  });
            return query;
        }
Run Code Online (Sandbox Code Playgroud)

Lew*_*rin 9

您的查询返回的IEnumerable<Client>,你需要或者FirstOrDefault,First,SingleOrDefault...查看MSDN上最适合你的人.

Client query = (from tbclient in dc.tblClients
                                  where tbclient.ClientID == clientID
                                  select new Client
                                  {
                                      Address = tbclient.Address,
                                      ClientID = tbclient.ClientID,
                                      Company = tbclient.Company,
                                      Fax = tbclient.Fax,
                                      Mobile = tbclient.Mobile,
                                      Name = tbclient.Name,
                                      Telephone = tbclient.Telephone
                                  }).FirstOrDefault()
Run Code Online (Sandbox Code Playgroud)