外部キー関連付けを使用して (1 対 1) 関連付けようとしている次の 2 つのエンティティがあります。
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 がスローされます。このような一見単純な 1 対 1 の双方向の関係を構成できない理由を教えてください。
編集:
例外は次のとおりです。
System.Data.Entity.ModelConfiguration.ModelValidationException がキャッチされました Message=モデルの生成中に 1 つ以上の検証エラーが検出されました:
System.Data.Edm.EdmAssociationEnd: : 関係 'StandardRelay_StandardRack' のロール 'StandardRelay_StandardRack_Source' では多重度が無効です。従属ロール プロパティはキー プロパティではないため、従属ロールの多重度の上限は「*」である必要があります。
Source=EntityFramework StackTrace: System.Data.Entity.ModelConfiguration.Edm.EdmModelExtensions.ValidateAndSerializeCsdl(EdmModel モデル、XmlWriter ライター) で System.Data.Entity.ModelConfiguration.Edm.EdmModelExtensions.ValidateCsdl(EdmModel モデル) で System.Data.Entity System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext) の System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection) の System.Data.Entity.Internal の .DbModelBuilder.Build(DbProviderManifest providerManifest, DbProviderInfo providerInfo)。 System.Data.Entity.Internal.Linq.InternalSet での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()1.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:line 33 InnerException: