カテゴリー
Microsoft

Entity Framework で複合主キーを設定する方法と Find の使い方

エラーとなったダメなモデル例

[Key]
public int GroupId { get; set; }

[Key]
public int UserId {get; set; }

エラーの内容


Microsoft Visual Studio Express 2015 for Web

エラー

選択したコードジェネレータを実行中にエラーが発生しました:

‘Unable to retrieve metadata for ‘Sample1.Model.Class’. Unable to datermine > composite primary key ordering for type ‘Sample1.Model.Class’. Use the > ColumnAttribute (see http://go.microsoft.com/fwlink/?LinkId=386388) or the HasKey > method (see http://go.microsoft.com/fwlink/?LinkId=386387) to specify an order > for composite primary keys.’

OK

OK なモデルコード

[Key]
[Column(Order = 1)]
public int GroupId { get; set; }

[Key]
[Column(Order = 2)]
public int UserId {get; set; }

複合主キーを持つモデルを Find するコード

Class @class = db.Classes.Find(groupId, userId);

おわりに

次のページが参考になりました。ありがとう存じます!

以上です。

コメントを残す