ホームページ >バックエンド開発 >C++ >物理主キーを使用せずに EF 4.0 データ モデルを統合するにはどうすればよいですか?

物理主キーを使用せずに EF 4.0 データ モデルを統合するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-12 07:42:43187ブラウズ

How Can I Integrate EF 4.0 Data Models Without Physical Primary Keys?

主キーの欠落による EF データ モデルの除外

既存のデータベースを Entity Framework (EF) 4.0 に統合する場合、一部のテーブルで主キーが欠落していることがよくあります。この問題は、新しいエンティティ データ モデルを作成するときに発生し、主キーが見つからないためテーブルが除外されることを示すエラー メッセージが表示されます。

この問題を解決するには、影響を受けるテーブルに物理主キーを追加する必要があると一般に考えられています。ただし、スキーマを変更せずにこれらのテーブルを使用できるようにする回避策があります。

Tillito が提案したように、この回避策には、新しい SELECT ステートメントで問題のあるビューの SELECT ステートメントを変更することが含まれます。このように元の SELECT ステートメントをラップすると、ISNULL 関数を使用して主キーとして使用する列を指定できます。代わりに、NULLIF 関数を使用して、列が主キーとして指定されるのを防ぐことができます。

例:

次の例を考えてみましょう:

<code class="language-sql">SELECT
  ISNULL(MyPrimaryID,-999) MyPrimaryID,
  NULLIF(AnotherProperty,'') AnotherProperty
FROM ( ... ) AS temp</code>

この例では、ISNULL 関数は EF に "MyPrimaryID" を主キーとして認識させる一方、NULLIF 関数は "AnotherProperty" が主キーとみなされないことを保証します。

この手法を適用すると、データベース スキーマを変更する必要がなくなり、既存のテーブルを EF データ モデルにシームレスに統合できるため、物理主キーを変更せずにデータ操作が可能になります。

以上が物理主キーを使用せずに EF 4.0 データ モデルを統合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。