Erreur: L'entité ou de type complexe ne peuvent pas être construits en une requête LINQ to entities
J'ai un problème avec une requête de jointure avec MVC et je ne sais pas pourquoi.
L'entité ou de complexes de type 'Tusofona_Website.Modèles.site_noticias " ne peuvent pas être construits en une requête LINQ to entities.
Mon Contrôleur:
private TusofonaDBs db = new TusofonaDBs();
//
//GET: /DestaquesMain/
public ActionResult Index()
{
var query = (from sd in db.site_desquesnoticias
join sn in db.site_noticias on sd.IDNoticia equals sn.IDNoticia
where sn.Destaque == 1
select new site_noticias {
CorpoNoticia = sn.CorpoNoticia,
TituloNoticia = sn.TituloNoticia
}).ToList();
//return View(db.site_desquesnoticias.ToList());
return View(query);
}
Mon Modèle:
public class site_destaquesnoticias
{
[Key]
public Int32 IDDestaque { get; set; }
public Int32 IDNoticia { get; set; }
public string Foto { get; set; }
}
public class site_noticias
{
[Key]
public Int32 IDNoticia { get; set; }
public string CorpoNoticia { get; set; }
public string TituloNoticia { get; set; }
public string Foto { get; set; }
public Int32 Destaque { get; set; }
}
public class TusofonaDBs : DbContext
{
public DbSet<site_destaquesnoticias> site_desquesnoticias { get; set; }
public DbSet<site_noticias> site_noticias { get; set; }
}
Quelqu'un peut m'aider?
- Double Possible de L'entité ne peut pas être construits en une requête LINQ to entities
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas projeter sur le mapping de l'entité (voir cette réponse).
Cependant, vous pouvez faire quelques choses:
1) Sélectionnez un type anonyme au lieu de l'entité comme:
2) Inverser votre requête pour sélectionner les site_noticias directement. Cela dépend de la requête et les données que vous souhaitez récupérer. Par exemple, vous pouvez avoir un coup d'oeil si la suivantes sera le travail et vous donner les données que vous avez besoin de:
3) Utiliser certains DTO (Data transfer object) pour projeter les propriétés que vous souhaitez sélectionner sur: