質問

私はこれらの主体(これは単なる抽象化したこのポスト):

  • 言語
  • 地区
  • 説明

これらの参考文献として:

  • 地区 * - 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

エラーがスローされ:

システム。InvalidOperationException:の の関係を定義することのできない のEntitySet名 'MyEntities.の記述が ために有効ではありませんの役割"区" 会セットの名前 'MyEntities.District_Description'.

なぜですか?

役に立ちましたか?

解決

の場合 myFetch たクラスのインスタンス District なにができるのでプログラム:

desc.DistrictReference.EntityKey = new EntityKey(  
  String.Format(  
    "{0}.{1}",   
    myFetch.EntityKey.EntityContainerName,   
    myFetch.EntityKey.EntitySetName),   
  "DistrictId", 
  myFetch.DistrictId);  

他のヒント

のだというメッセージ:指定した間違った主体セットの名前です。

  1. 開EDMX.
  2. のモデルのブラウザウインドウです。
  3. の地方団体のモデルのブラウザ
  4. 右クリックし、"プロパティ"
  5. には注意して正しい体セット名
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top