私は、私たちのプロジェクトのために、多くの厳しい操作と、データベースのための基本的なdataAccessオブジェクトを生成するコードジェネレータを作成しました。 (動的SQLを実行することは許可されておらず、ストアドプロシージャのみが許可されているため、他のツールは使用していません)。クラスの存在に基づいてコードを含めることは可能ですか?
今私が考えているのは、約1,200個のテーブルがあるということです。私はすべてのテーブルオブジェクトをプロジェクトに含めることは望ましくありません(実際に使用されるまでではありません)。
私のオブジェクトには、他のオブジェクト(親子関係など)を参照するプロパティが含まれています。
は今、私は誰もが現在ClassBのを使用していない、と私は私たちのプロジェクトに含めない(まだ)それので、知っている私は私の2つのオブジェクト(彼らは別のファイルにあります)
public class ClassA{
public ClassB GetClassBforA{get;set;}
//Lost of other properties and code
}
public class ClassB{/* bunch of stuff*/}
を持っていると言います他のクラスやツールへの参照が多数あります。 ClassAのプロパティをコンパイルしないようにしたいと思います。私はこの
public class ClassA{
#if ClassBIsDefind
public ClassB GetClassBforA{get;set;}
#endif
//Lost of other properties and code
}
#define ClassBIsDefind
public class ClassB{/* bunch of stuff*/}
のように多分何かを考えていた。しかしClassBIsDefindは別のファイルに設定されているので、これは動作しません
(このファイルが自動的に生成されるので、上書きするバインドされています)。
これを行う別の方法はありますか?
ReSharperが提供するLive T4 Templatesのような既存のフリーコード生成ツールを見てください。また、Visual Studioはテンプレート機能も備えています。ホイールを発明するよりも、再利用する価値があるかもしれません。 – sll