Indipendentemente dal modo in cui lo mescolo, mi dà errori. Ho la sensazione che mi manchi qualcosa di ovvio mentre continuo a ricevere questi errori. sono stati rilevatiCodeFirst EF4.1 MVC Contro database legacy - conflitti di molteplicità
uno o più errori di convalida durante la generazione del modello:
System.Data.Edm.EdmAssociationType:: conflitti Multiplicity con il vincolo referenziale in ruolo 'Venue_Courses_Source' in relazione 'Venue_Courses. Poiché tutte le proprietà nel ruolo dipendente non sono annullabili, la molteplicità del ruolo principale deve essere "1".
System.Data.Edm.EdmAssociationEnd:: La molteplicità non è valida nel ruolo "Venue_Courses_Target" nella relazione "Venue_Courses". Poiché il ruolo Dependent riferisce alle proprietà chiave, il limite superiore della molteplicità del Ruolo dipendente dev'essere 1.
Un corso può avere una sola sede, sedi possono essere utilizzati da molti campi
public class Course
{
[Key]
public virtual int Id { get; set; }
public string Title { get; set; }
public DateTime StartDate { get; set; }
public int VenueId { get; set; }
public virtual Venue Venue { get; set; }
}
public class Venue
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Course> Courses { get; set; }
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
#region Courses
//Table Alias
modelBuilder.Entity<Course>().ToTable("DBSCHEMA.TR_COURSES");
//Keys
modelBuilder.Entity<Course>().HasKey(c => c.Id);
//Joins
//Join to Venues
modelBuilder.Entity<Course>().HasOptional(c => c.Venue);
//Fields
modelBuilder.Entity<Course>().Property(c => c.Id).HasColumnName("COURSE_ID");
modelBuilder.Entity<Course>().Property(c => c.Title).HasColumnName("CR_TITLE");
modelBuilder.Entity<Course>().Property(c => c.StartDate).HasColumnName("START_DATE");
modelBuilder.Entity<Course>().Property(c => c.VenueId).HasColumnName("VENUE_ID");
#endregion
#region Venues
//Table Alias
modelBuilder.Entity<Venue>().ToTable("DBSCHEMA.VENUES");
//Keys
modelBuilder.Entity<Venue>().HasKey(v => v.Id);
//Joins
modelBuilder.Entity<Venue>().HasMany(venue => venue.Courses);
//Fields
modelBuilder.Entity<Venue>().Property(v => v.Id).HasColumnName("VENUE_ID");
modelBuilder.Entity<Venue>().Property(v => v.Name).HasColumnName("VENUE_NAME");
#endregion
}
Grazie mille, sono contento di non essere stato l'unico! ;) –
doh! mi hai salvato la sanità mentale :) –
Mi hai appena salvato un sacco di tempo.Grazie! –