2016-08-28 5 views
0

私はOracleでデータベースファーストのアプローチを使用しています。私のテーブルの1つにプライマリキーがありません。それは他のテーブルの外部キーである2つの列しか持たない。すべてのテーブルにADO.NETを使用するプライマリキーが必要ですか?

データベースからASP.NET MVCプロジェクトでモデルを生成しました(Add - New Item - ADO.NETエンティティデータモデル)。

しかし、問題がある - 私はエラーを取得する:

Error 159: EntityType 'DbModel.Store.SomeTableWithoutPK' has no key defined. Define the key for this EntityType. E:\Git_repo\ZZ\ZZ.Domain\DAL\DbModel.edmx

これは、各テーブルには主キーを持たなければならないことを意味していますか?これを避けることはできますか?または、私はこのテーブルにプライマリキーを持つ新しい列を追加する必要がありますか?もちろん、主キーを複数の列に適用することも可能ですが、それは必要ですか?

答えて

1

すべてのテーブルには、データベースの効率化とレコードの編集が可能なプライマリキーが必要です。

あなたは、あなたの2列のテーブルデザイナで

に主キーの新しい列を作成し、両方の列を選択し、主キーとして一緒に両方を使用する必要はありません。ヌルが許可されておらず、重複がない限り、あなたはOKでなければなりません。

これは、多くのテーブルに多くのであり、あなたは私の答えは、デフォルト値として)(GETDATEで表にdatetime型の列を追加するとDiPix

+0

データメンテナンスが容易になりますことを後で見つけることが、EFを使用しているので助けます? – Mike

関連する問題