0

Entity Frameworks 4 と自己追跡エンティティを使用してプロジェクトを作成しています。SQL Server 2008 データベースまたは SQL Server Compact データベース (構成ファイルにあるスイッチを使用) からデータを取得できるようにしたいと考えています。私はリポジトリ パターンを使用しており、セルフ トラッキング エンティティを別のアセンブリに配置します。

2 つの edmx ファイルが必要ですか? その場合、別のアセンブリで STE のセットを 1 つだけ生成するにはどうすればよいですか? また、2 つのコンテキスト クラスも生成する必要がありますか? このすべての配管がわかりません。誰でも助けることができますか?

ダレン

2 つのデータベースは同一であり、コンパクト バージョンはオフラインで使用するためのものであることを付け加えるのを忘れていました。

4

2 に答える 2

1

これをフォローアップするだけです。最終的に、2つの別々のedmxファイルを維持する必要がありました。1つはSQLサーバー用で、もう1つはコンパクト用です。主な理由は、コンパクト3.5が自動IDをサポートしていないことです(Zeeshanが前述したように)。これにより、2つのコンテキストクラスが作成されました。SQL Server Compactのコンテキストクラスでは、挿入を確認するコードを配置し、データベースに最新のIDをクエリして、保存する前に手動でインクリメントする必要がありました。

ありがたいことに、compact 4.0のリリースでは、自動IDがサポートされており、実際に1つのedmxファイルしか使用できないため、これは適用されなくなりました。

ダレン

于 2011-05-07T14:05:32.383 に答える
0

スキーマが完全に同じである限り、edmxファイルは必要です。接続文字列を変更するだけで、すべてがシームレスに機能します。Compact EditionがIDの概念をサポートしておらず、本格的なSQL Serverがサポートしている場合、スキーマが同じであるとuがどのように言っているかはわかりませんが。したがって、コンパクトでは利用できないSQLサーバーに固有の機能を使用している場合は、ランタイムエラーが発生します。

于 2010-07-10T06:05:19.600 に答える