4

Итак, я хочу создать код для классов без aspx. У меня есть файлы сопоставления (классы), которые я хочу показать в проекте как код для entites. Есть ли способ сделать это в VS2008.Fluent NHibernate Классы как код для классов домена

+0

Вы говорите о дисплее в VS-исследовательском решении VS? Или просто возможность иметь два исходных файла для одного класса ... – Shog9

+0

Свободные файлы сопоставления NHibernate? Если так, у меня была такая же мысль и я заинтересован в ответах. К сожалению, я думаю, что это требует частичных классов. –

ответ

1

вы можете создать файл дизайнера, назвав его Class.Designer (vb или cs), и он будет отображаться как код для любого класса, который вы создаете. Однако один из классов должен быть частичным классом.

1

Похоже, вы говорите о файлах, отображаемых как вложенные в Solution Explorer. Файлы ASP.NET Codebehind являются лишь одним из примеров этого.

Что вы хотите в файле проекта что-то вроде этого:

<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> 

Я считаю, что это <DependentUpon> элемент, который указывает на гнездование.

0

Я действительно получил это, чтобы работать. Теперь вся «Карта» отображается как код, лежащий за классами для моих объектов, экономит много времени при поиске Картинга для объекта. Вот как он выглядит в файле проекта.

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

Мы также создали шаблон, так что можно просто правой кнопкой мыши, выберите добавить NH объект и будет сохранен в проекте, как показано выше. Только сейчас проблема заключается в переименовании объекта, нужно пойти в проект и вручную изменить имя. Но этого не происходит часто и является небольшим компромиссом для повышения производительности.