4

Ok, also möchte ich einen Code hinter Nicht-ASPX-Klassen erstellen. Ich habe Mapping-Dateien (Klassen), die ich im Projekt als Code hinter für listet zeigen möchte. Gibt es eine Möglichkeit, dies in VS2008 zu tun?Fließende NHibernate-Klassen als Code hinter für Domain-Klassen

+0

Sprechen Sie über die Anzeige im VS Solution Explorer? Oder einfach in der Lage sein, zwei Quelldateien für eine einzelne Klasse zu haben ... – Shog9

+0

Fließende NHibernate Mapping-Dateien? Wenn ja, habe ich den gleichen Gedanken und bin an den Antworten interessiert. Leider denke ich, dass dies teilweise Klassen erfordert. –

Antwort

1

Sie können eine Designer-Datei erstellen, indem Sie sie Class.Designer. (Vb oder cs) nennen und sie wird als Code hinter der von Ihnen erstellten Klasse angezeigt. Eine der Klassen muss jedoch eine Teilklasse sein.

1

Es klingt, als würden Sie davon sprechen, dass Dateien im Projektmappen-Explorer verschachtelt angezeigt werden. ASP.NET Codebehind-Dateien sind nur ein Beispiel dafür.

Was Sie in der Projektdatei wollen, ist so etwas wie dieses:

<ItemGroup> 
    <EmbeddedResource Include="Resources.resx"> 
     <Generator>ResXFileCodeGenerator</Generator> 
     <LastGenOutput>Resources.Designer.cs</LastGenOutput> 
     <SubType>Designer</SubType> 
    </EmbeddedResource> 
</ItemGroup> 
<ItemGroup> 
    <Compile Include="Resources.Designer.cs"> 
     <DependentUpon>Resources.resx</DependentUpon> 
     <AutoGen>True</AutoGen> 
     <DesignTime>True</DesignTime> 
    </Compile> 
</ItemGroup> 

Ich glaube, es ist das <DependentUpon> Element, das die Verschachtelung anzeigt.

0

Ich habe das tatsächlich zur Arbeit gebracht. Jetzt alle "Karte" als Code hinter Klassen für meine Entitäten angezeigt, spart mir viel Zeit beim Nachschlagen der Mapping für die Entität. So sieht es in der Projektdatei aus.

<Compile Include="Entities\OrderMap.cs"> 
    <DependentUpon>Order.cs</DependentUpon> 
</Compile> 

Wir haben auch eine Vorlage, so dass man nur die rechte Maustaste kann, fügt Einheit NH wählen und es wird mit dem Projekt gespeichert, wie oben gezeigt. Das einzige Problem im Moment ist die Umbenennung der Entität, man muss in das Projekt gehen und den Namen manuell ändern. Aber das passiert nicht oft und ist ein kleiner Kompromiss für den Produktivitätsgewinn.