Convert Linq Data query to object type

11,213

Your query returns an IEnumerable<Client>, you need either FirstOrDefault, First, SingleOrDefault.. look at MSDN for the one that best suits you.

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()
Share:
11,213
chamara
Author by

chamara

ASP.NET, ASP.NET MVC , Sql Server, Bootstrap, CSS and Crystal reports developer

Updated on June 27, 2022

Comments

  • chamara
    chamara almost 2 years

    I'm getting the error

    "Unable to cast object of type 'System.Data.Linq.DataQuery`1[StockManagement.Models.Client]' to type '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;
            }