3

Entity Framework は、必要な部分クラスを作成しました。これらの部分クラスを [データ ソース] ウィンドウに追加すると、プロパティが期待どおりに表示されます。ただし、別のソース ファイルでいずれかのクラスを拡張すると、これらのプロパティはビルドおよび更新後でも [データ ソース] ウィンドウに表示されません。

ソース ファイル全体の部分クラスのすべてのプロパティは、部分クラスが EF で作成されている場合を除いて、[データ ソース] ウィンドウで期待どおりに機能します。

編集: edm デザイナーの問題のあるテーブルを削除した後、すべての作業が期待されます。長期的な解決策はほとんどありません。他の誰かが同様の問題に遭遇しましたか?

4

1 に答える 1

2

次の回避策を使用しました。

ステップ 1... 必要なプロジェクトを作成する ソリューションで 2 つのプロジェクトを作成します。ビルド出力)

ステップ 2... プロジェクトのリンク アプリケーション プロジェクトで、データレイヤー プロジェクトへのプロジェクト参照を追加します (参照 - 参照の追加 - プロジェクト タブ)。

ステップ 3... 部分クラスでプロパティを作成する データレイヤー プロジェクトで: - ローカル データベースを使用している場合は、データベース ファイルを追加します。 - 新しい Linq to SQL クラス アイテム (.dbml ファイル) を追加します。サーバー エクスプローラーからのデザイナー シート - デザイナーでクラスの 1 つを右クリックし、[コードの表示] を選択します。部分的なクラス情報が既に入力されたファイルが表示されます。- 部分クラスをパブリックにする - テスト プロパティを作成します。例: public string TEST { get{return "TEST";} } - データレイヤー プロジェクトをビルドします。 ..

ステップ 4 - データソースの追加 - アプリケーション プロジェクトで - データソース タブに移動し、新しいオブジェクト データソースを追加します。追加したクラスと部分クラス プロパティも選択します。

  • datasources ビューに TEST プロパティが表示されます...

すべて完了

.dbml ファイルと部分クラスを別のプロジェクトに配置し、アプリケーション プロジェクトの DLL を介してアクセスすると、Visual Studio が強制的にコンパイルされ、アプリケーション プロジェクトですべてが使用可能になるため、うまくいくと思います... dll とは対照的にすべてが1つのプロジェクトにあり、部分クラスのプロパティがデータソースリストから外れている場合に発生するように見える別の一時ファイル..

さらに、それほど悪くはありません..データレイヤー用に別のプロジェクトを用意すると、プロジェクト間で再利用できます.. :D

それが誰かのために働くことを願っています...

于 2010-04-12T04:23:56.517 に答える