разделение пространства имен по проектам - PullRequest
0 голосов
/ 29 октября 2010

Кажется, у меня проблемы с разделением пространства имен по проектам.

У меня есть проект DatabaseAccess, в котором есть папка SCS (Some Crazy System), которая обеспечивает доступ к базе данных для SCS.Теперь этот SCS имеет сгенерированные сущности (.edmx).Я хотел бы расширить эти объекты в моем проекте BusinessModel.Однако я не могу этого сделать.ниже мой пример.Я создаю частичный класс, а также создаю пространство имен с тем же именем, что и пространство имен в моем реальном проекте DatabaseAccess:

namespace DatabaseAccess.SCS{
    public partial SomeEntity{
         public void DoSomething(){
             var x = this.GeneratedField;
         }
    }
}

Выполнение вышеописанного не работает.Он жалуется, что GeneratedField не является частью класса SomeEntity, хотя он и является.Если я открою SCS.Designer для edmx, у SomeEntity действительно есть определение для GeneratedField, а SomeEntity является частью пространства имен DatabaseAccess.SCS.Что дает?

Ответы [ 2 ]

1 голос
/ 29 октября 2010

Вы не просто разделяете пространство имен по нескольким проектам, но и классу. Я сомневаюсь, что это возможно, так как обычно было бы очень трудно создать такие объекты, поскольку каждый объект обычно имеет сильные зависимости от ... ну, сам по себе! (Методы расширения могли бы обеспечить аналогичную функциональность - хотя я не рекомендую злоупотреблять ими. Как и документация.)

Почему бы вам не иметь этот фрагмент в том же проекте, что и другая его часть?

0 голосов
/ 29 октября 2010

Если частичный класс не находится в том же проекте, вам нужно будет добавить ссылку на сборку, созданную из другого проекта. В противном случае локальный проект еще не знает класс для его расширения.

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