.NET EntityFramework ile group by yapınca ve select kısmında entity modelinden direk nesne türetmeye çalıştığımızda başlıkdaki hatayı aldım bu sorunu aşmak için makale devamındaki yöntemi uygulayarak sorunu aşabilirsiniz.
.NET EntityFramework The entity cannot be constructed in a LINQ to Entities query hatası ve çözümü
.NET EntityFramework ile group by yapınca ve select kısmında entity modelinden direk nesne türetmeye çalıştığımızda başlıkdaki hatayı aldım bu sorunu aşmak için alttaki kodda gördüğünüz gibi ilk select kısmında direk object bir model dönderdik geriye tolist ettikten sonraki select’de entity modelinden direk türetme yapabiliyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 | public List GetProducts(int categoryID) { var query = from p in db.Products where p.CategoryID == categoryID select new { Name = p.Name }; var products = query.ToList().Select(r => new Product { Name = r.Name; }).ToList(); return products; } |
Üstteki kod bloğunda gördüğünüz gibi linq sorgusunda select new anahtar kelimesi ile object türünde bir nesne dönderiyoruz ve bu linq sorgusunu tolist edip veritabanından kayıtları aldıktan sonra entitymodelini tekrar select diyerek modelden nesne türetebilirsiniz.