私はこれらのエンティティを持っています (これは、この記事のために作成した単なる抽象化です):
- 言語
- 区域
- 説明
これらはそれらの間の参照です:
- 地区 * - 1言語
- 説明 * - 1言語
- 地区 1 - 1の説明
このようにフェッチすると:
var myFetch = from c in context.Districts
where c.Id = 10
select new { DistrictId = c.Id, Lang = c.Language };
その後、次のように説明に割り当てようとします。
Description desc = Description.CreateDescription(0, "My description");
desc.DistrictReference.EntityKey = new EntityKey("MyEntities.Descriptions", "DistrictId", myFetch.DistrictId);
desc.Language = myFetch.Lang; //throws error
スローされるエラーは次のとおりです。
System.InvalidOperationException: EntitySet 名 'MyEntities.Descriptions' が関連付けセット名 'MyEntities.District_Description' のロール 'District' に対して有効でないため、関係を定義できません。
私は何を間違っていますか?