У меня есть два объекта, которые я пытаюсь связать (один к одному) с использованием ассоциаций внешних ключей.
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; }
}
Это исключает исключение ModelValidationException. Любые идеи, почему такое, казалось бы, простое взаимно однозначное отношение "один к одному" не могут быть настроены.
Edit:
Вот Исключение:
System.Data.Entity.ModelConfiguration.ModelValidation Исключение было обнаружено Сообщение = Во время генерации модели были обнаружены одна или несколько ошибок проверки:
System.Data.Edm.EdmAssociationEnd:: множественность недействительна в роли "StandardRelay_StandardRack_Source" в отношении "StandardRelay_StandardRack". Поскольку свойства зависимой роли не являются ключевыми свойствами, верхняя граница множественности зависимой роли должна быть *.
Источник = EntityFramework Трассировки стека: в System.Data.Entity.ModelConfiguration.Edm.EdmModelExtensions.ValidateAndSerializeCsdl(модель EdmModel, создатель XmlWriter) в System.Data.Entity.ModelConfiguration.Edm.EdmModelExtensions.ValidateCsdl(модель EdmModel) в System.Data.Entity.DbModelBuilder.Build(DbProviderManifest providerManifest, DbProviderInfo providerInfo) в System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection) в System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext) в 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.Initialize() в System.Data.Entity.Internal.Linq.InternalSet1.GetEnumerator() at System.Data.Entity.Infrastructure.DbQuery
1.System.Collections.Generic.IEnumerable.GetEnumerator() в коллекции System.Collections.Generic.List1..ctor(IEnumerable
1) в System.Linq.Enumerable.ToList [TSource] (источник IEnumerable`1) в TestApplication.MainWindow.Window_Loaded (отправитель объекта, RoutedEventArgs e) в D:\RailwayProjects\RelayAnalysis\TestApplication\MainWindow.xaml.cs: строка 33 InnerException: