0

VS2008 の Entity Framework で異常な問題が発生しています。問題は、既存のデータベースからエンティティ モデルを作成するときに、デザイナーが対応するすべてのテーブルを追加しますが、外部キー フィールドの一部がランダムに省略されているように見えることです。しかし、ブラウザでモデルを参照すると、フィールドが含まれていることがはっきりとわかります。

これは、ビルド中にこれらのフィールドがマップされていないという複数のエラーを受け取り始めたときに明らかになりました。これにより、デザイナーのフィールドを対応するテーブルに手動で追加し、それらをデータソースにマップすることになりました。

ただし、この後、複数のエラーが発生します: エラー 102 エラー 10023: 検証する概念モデルが見つかりませんでした。
エラー 103 エラー 10024: 検証するストレージ モデルが見つかりませんでした。
エラー 104 エラー 10025: 検証するマッピング モデルが見つかりませんでした。
エラー 105 入力ファイルのリソースとして埋め込む概念スキーマ ノードが見つかりません エラー 106 入力ファイルのリソースとして埋め込むストレージ スキーマ ノードが見つかりません エラー 107 入力ファイルのリソースとして埋め込むマッピング ノードが見つかりません

XML エディターで edmx ファイルを開くと、ファイルが波線だらけです。

VS2010 でエンティティ モデルを問題なく作成できましたが、クライアントは 4.0 Framework ではありません。

問題を抱えている他のユーザーを特定しましたが、問題の解決に役立つリソースが見つかりません。

どんな提案でも大歓迎です。

4

1 に答える 1

1

これはおそらく、EF1 が外部キーをサポートしていなかったためです。したがって、外部キー列の場合、EF はナビゲーション プロパティを作成しますが、エンティティには外部キー プロパティを作成しません。モデル ブラウザーで外部プロパティを見つけることができますが、これは概念モデルではなく、データベースを表すモデルにあります。ナビゲーション プロパティはストア内の外部キーに基づいてモデル化されており、外部キーを公開していなくてもリレーションシップ機能が失われないことに注意してください。つまり、クエリでナビゲーション プロパティを使用すると、SQL クエリで外部キー値を使用するように正しく変換されます。概念モデルに外部キー プロパティがあると非常に便利な点の 1 つは、関連するエンティティを読み込まずにリレーションシップを推論または変更したい場合です。キー値がわかっている場合は、外部キー プロパティをこの値に設定するだけで、あなたはそれで終わりです。これは EF1 では不可能です。関連するエンティティに対してリレーションシップまたはクエリを変更する必要があるときはいつでも、最初にそのエンティティを読み込んでナビゲーション プロパティを使用する必要があります。

于 2013-10-08T13:29:47.340 に答える