EntityFramework или LinqToSql Entity Namespace - PullRequest
1 голос
/ 30 ноября 2009

Я хочу указать пространство имен сущности на основе структуры моего домена. Обычно так:

Infrastructure.SqlServer

  • Клиенты (NS: Infrastructure.SqlServer.Customers)
    • Клиент
    • Адрес
  • Продукты (NS: Infrastructure.SqlServer.Products)
    • Продукт
    • ProductVariant
    • ProductCategory

Как я могу сделать это с LinqToSql или EntityFramework? Кажется, что мы можем указать только уникальное «пространство имен сущностей», например Infrastructure.SqlServer.Entities

Спасибо.

Ответы [ 3 ]

1 голос
/ 30 ноября 2009

Это возможно с EF, но я бы не рекомендовал это.

Проблема в том, что вам нужно зайти в EDMX и вручную отредактировать XML (то есть покинуть конструктор), чтобы создать несколько схем внутри CSDL-части файла EDMX.

Определенно не стоит хлопот, на мой взгляд.

Alex

0 голосов
/ 03 декабря 2009

Что ж, вы можете создавать отдельные модели для своей схемы базы данных, исключая таблицы в каждой из них, которая вам не нужна. Вы можете сделать это с помощью L2S или Entity Framework. Я предполагаю, что это не то, что вы имеете в виду, однако. Вы не сможете включить в запрос объекты из обеих моделей.

Что вы, вероятно, хотите ...

Большинство людей, что делать это по причинам обслуживания; то есть разделить модель на модульные куски. Я много экспериментировал с этим сам. Здесь есть статья здесь , если вы полны решимости продолжать. Редактирование подробного файла EDMX вручную в настоящее время очень неуклюжий и подвержен ошибкам. Если то, что вы спрашиваете, это общая степень вашего желаемого раскола, это, вероятно, хорошо. Если у вас более крупная схема с большим количеством разбиений, вы, вероятно, найдете ее слишком болезненной.

Это явно желательный функционал для многих, и он необходим для использования в типичной базе данных Enterprise. В долгосрочной перспективе это, вероятно, будет исправлено, но сейчас мой совет - обойти эту проблему. Для полноты LinqToSQL не поддерживает разбиение модели каким-либо образом.

0 голосов
/ 30 ноября 2009

Я сделал это в нашем приложении. Наши пространства имен сущностей основаны на наших схемах SQL Server. Каждое пространство имен находится в своем собственном DBML. К сожалению, L2S не может моделировать отношения между файлами .DBML, но мы в некоторой степени обошли это.

Randy

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...