Ho seguito due entità che sto cercando di mettere in relazione (uno a uno) usando le associazioni di chiavi esterne.Codice quadro entità Primo: configurazione dell'associazione di chiavi esterne One-To-One mediante Annotazioni
public class StandardRack {
public int Id {get;set}
public StandardRelay StandardRelay {get;set}
}
public class StandardRelay {
public int Id {get;set}
public int StandardRack_Id {get;set;}
[Required][ForeignKey("StandardRack_Id")]
public StandardRack StandardRack { get; set; }
}
Questo genera ModelValidationException. Qualche idea sul perché una tale relazione bidirezionale apparentemente semplice non possa essere configurata.
Edit:
Qui è l'eccezione:
System.Data.Entity.ModelConfiguration.ModelValidationException è stato catturato Messaggio = Uno o più errori di validazione sono stati rilevati durante la generazione del modello:
System.Data.Edm.EdmAssociationEnd:: Multiplicity non è valido nel ruolo 'StandardRelay_StandardRack_Source' nella relazione 'StandardRelay_StandardRack'. Poiché le proprietà del ruolo dipendente non sono le proprietà chiave, il limite superiore della molteplicità del ruolo dipendente deve essere * .
Source = EntityFramework StackTrace: a System.Data.Entity.ModelConfiguration.Edm.EdmModelExtensions.ValidateAndSerializeCsdl (modello EdmModel, XmlWriter scrittore) a System.Data.Entity.ModelConfiguration.Edm.EdmModelExtensions.ValidateCsdl (modello EdmModel) a System.Data.Entity.DbModelBuilder.Build (DbProviderManifest providerManifest, DbProviderInfo providerInfo) a System.Data.Entity.DbModelBuilder.Build (DbConnection ProviderConnection) a System.Data.Entity.Internal.LazyInternalContext.CreateModel (LazyInternalContext internalContext in System.Data.Entity.Internal.RetryLazy
2.GetValue(TInput input) at System.Data.Entity.Internal.LazyInternalContext.InitializeContext() at System.Data.Entity.Internal.InternalContext.Initialize() at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) at System.Data.Entity.Internal.Linq.InternalSet
1. Inizializza() a System.Data.Entity.Internal.Linq.InternalSet1.GetEnumerator() at System.Data.Entity.Infrastructure.DbQuery
1.System.Collections.Generic.IEnumerable.GetEnumerator() a System.Collections.Generic.List1..ctor(IEnumerable
1 collezione) a System.Linq.Enumerable.ToList [ TSource] (fonte IEnumerable`1) a TestApplication.MainWindow.Window_Loaded (object sender, RoutedEventArgs e) in D: \ RailwayProjects \ RelayAnalysis \ TestApplication \ MainWindow.xaml.cs: linea 33 InnerException:
Puoi pubblicare il messaggio dettagliato di 'ModelValidationException' incluse le possibili eccezioni interne? – Slauma
Si prega di vedere il mio EDIT per l'eccezione – Jatin