Linq

LINQ to Entities does not recognize the method 'System.String get_Item(System.String)' method, and this method cannot be translated into a store expression

LINQ to Entities does not recognize the method 'System.String get_Item(System.String)' method, and this method cannot be translated into a store expression, someone asked me to explain?

I got the following error while executing the linq query "LINQ to Entities does not recognize and this method cannot be translated into a store expression."

 

LINQ Query:

 

var queryresult = (from x in db.Specifications
                              where x.Brand.Name.Contains(brand)
                              select
                               new specsModel { specificationid = x.SpecificationId, Title = x.Title,
                                   Picture = System.Configuration.ConfigurationManager.AppSettings["BlogUrl"] + db.Pictures.Where(p =>
                                   p.SetActive == true && p.SpecificationId == x.SpecificationId).ToList().
                                   FirstOrDefault().Path }).ToList();

 

Solution:

 

 var stringURL = System.Configuration.ConfigurationManager.AppSettings["BlogUrl"];

 

I assigned the value to the string variable and passed in to the linq query and executed. It works fine.

 

var queryresult = (from x in db.Specifications
                              where x.Brand.Name.Contains(brand)
                              select
                               new specsModel { specificationid = x.SpecificationId, Title = x.Title,
                                   Picture = stringURL + db.Pictures.Where(p =>
                                   p.SetActive == true && p.SpecificationId == x.SpecificationId).ToList().
                                   FirstOrDefault().Path }).ToList();

Post your comments / questions