Ich bin ziemlich neu in EF, und ich bin nicht wirklich sicher, wie das geht.Viele zu viele Beziehungen im EF5-Code Wie kann ich zuerst den Tabellennamen angeben?
Ich habe eine viele-zu-viele-Beziehung, genau wie folgt aus:
Wenn ich versuche, eine Ressource (Recurso) zu einem Profil (Perfil) hinzuzufügen, ich die folgende Fehlermeldung erhalten:
Invalid object name 'dbo.RecursoPerfils
Wo zum Teufel aus hat RecursoPerfils
kommen?
Wie kann ich den Tabellennamen für diese Beziehung angeben (vorzugsweise durch Attributannotation)?
Modelle anzeigen unter:
[Table("Perfil")]
public class Perfil
{
public Perfil()
{
this.Usuarios = new List<Usuario>();
this.Recursos = new List<Recurso>();
}
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
public int IdPerfil { get; set; }
[Required]
public string Descricao { get; set; }
public virtual ICollection<Usuario> Usuarios { get; set; }
public virtual ICollection<Recurso> Recursos { get; set; }
}
[Table("Recurso")]
public class Recurso
{
public Recurso()
{
this.Perfis = new List<Perfil>();
}
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
public int IdRecurso { get; set; }
[Required]
public string NomeRecurso { get; set; }
[Required]
public string Descricao { get; set; }
public virtual ICollection<Perfil> Perfis { get; set; }
}
Danke. Ich nehme an, dass es keine Möglichkeit gibt, dies zu tun, ohne Fluent API und nur Attribute zu verwenden? –
@ConradClark Ja. Attribute bieten nicht die vollständigen Konfigurationsfunktionen. – Eranga
Große Antwort. Vielen Dank! –