2

実行時に単一テーブルのSSDLを更新しないようにEFに指示する方法はありUpdate Model From Databaseますか?

もう少し詳しく説明
します。EF4.3とDb-firstアプローチを使用しています(つまり、edmxとデータベースからのモデルの更新)。

何らかの理由でSQLServerに主キーが設定されていないテーブルがありますが、IdentityEFに主キーとして使用するように指示できる自動インクリメント列があります。

EFはテーブル自体で主キーを検出しないため、そのテーブルのSSDLでDefiningQueryを生成します(更新/挿入を防止します)。

そのDefiningQueryを簡単に削除(および他のEntitySet属性を変更)でき、すべてが正常に機能します。

別のことをするときを除いUpdate Model From Databaseて、DefiningQueryが再び戻ってきました。

その単一のテーブルのSSDLを更新しないようにEFに指示する方法はありますか?

4

1 に答える 1

1

データベースからモデルを更新するときに、単一のテーブルのSSDLを更新しないようにEFに指示する方法はありますか?

VisualStudioで提供されるデフォルトのデザイナーではありません。EDMXファイルのSSDL部分を変更したら、それを手動で維持するか、データベースからUpdateを実行するたびに修正するスクリプトを作成する必要があります。

または、より強力なデザイナーまたはVisual Studioの拡張機能を購入して、選択的な更新を提供することもできます。

とにかくあなたがやろうとしていることは避けるべきです。データベースがERPによって所有されている場合は、ERPプログラミングAPIを介してのみアクセスを行う必要があります(実際のERPにはいくつかあります)。そうしないと、ERPの機能が壊れたり、ERPデータが破損したり、パフォーマンスの問題が発生したり、デッドロックが発生したりする可能性があります。

于 2012-04-13T08:11:03.933 に答える