0
が、私は複合主キーを持つ、次のテーブル定義があると生成されませんエンティティクラスの生成に失敗します。複合主キーのためですか? Entity Frameworkでエンティティクラスを生成させる方法はありますか?Entity Frameworkの6データベースまず複合キーを持つテーブル上のエンティティ
が、私は複合主キーを持つ、次のテーブル定義があると生成されませんエンティティクラスの生成に失敗します。複合主キーのためですか? Entity Frameworkでエンティティクラスを生成させる方法はありますか?Entity Frameworkの6データベースまず複合キーを持つテーブル上のエンティティ
this answerのように、Gert Arnoldのコメントで正しい方向に私を指摘しました。
2つの主キー以外の列を追加すると、Entity Frameworkによってエンティティが生成されました。ここでEFデータベース最初にエンティティを作成する対象のサンプル表の定義である:
create table [dbo].[CustomerRequests] (
[CustomerId] int not null,
[RequestId] int not null,
[TimestampUtc] datetime not null,
constraint [PK_CustomerRequests] primary key clustered ([CustomerId] asc, [RequestId] asc),
constraint [FK_CustomerRequests_Customers] foreign key ([CustomerId]) references [dbo].[Customers] ([CustomerId]),
constraint [FK_CustomerRequests_Requests] foreign key ([RequestId]) references [dbo].[Requests] ([RequestId])
);
私はEFを使用する場合、我々は、コード内のエンティティを作成し、その後、SQLテーブルを作成するために、移行を使用。私はそれがSQLで手動で作成されたテーブルを無視すると思います。全く肯定的ではなく、ただ経験したかっただけです。 –
EFは、この表と真ん中に多対多の関連付けを作成します。それを望まない場合は、テーブルに単一のサロゲート主キー(または他の意味のあるフィールド)を与えます。 –