タイトルに「poco」が含まれているので、EF4 POCOGeneratorT4テンプレートを使用していると思います。
そうすれば、POCOクラスとObjectContextを2つの異なるクラスライブラリに分けることができます。T4テンプレートは、2つの異なるファイルで構成されているため、そのシナリオ用に準備されています。
- POCOGenerator.Context.tt- >派生したObjectContextを作成する責任があります
- POCOGenerator.tt- >POCOエンティティの作成を担当
EDMXファイルがあるクラスライブラリにPOCOジェネレーターを追加すると、デフォルトでは両方のttファイルがそこに追加されます。
ただし、2番目のファイル(POCOGenerator.tt)を別のクラスライブラリに移動できます。(コンテキストが配置されているEDMXプロジェクトは、POCOクラスを認識するために、このライブラリを参照する必要があります。)その後、このファイルをテキストエディタで開きます。このファイルの最初の行のいくつかは次のようになります。
...
string inputFile = @"MyModel.edmx";
EdmItemCollection ItemCollection = loader.CreateEdmItemCollection(inputFile);
...
ここで、edmxファイルへのパスを変更する必要があります(POCOGenerator.ttでのみ、POCOGenerator.Context.ttは変更しないでください)。Visual Studioの同じソリューションにedmxプロジェクトとPOCOプロジェクトがあるとすると、新しいパスは次のようになります。
...
string inputFile = @"..\..\MyEDMXProject\MyModel.edmx";
EdmItemCollection ItemCollection = loader.CreateEdmItemCollection(inputFile);
...
これで、2つの異なるプロジェクトから別々に両方のファイルを実行できます。1つはコンテキストファイルを作成し、もう1つはPOCOファイルを作成します。