Добавление объекта сложного типа к объекту - Советы по проектированию Leaner? - PullRequest
0 голосов
/ 16 ноября 2011

У меня есть объект Project, связанный с объектом AffiliatedProject с отношением 0-к-*, то есть проект может быть связан со многими другими проектами. Я храню эти «связанные» проекты в таблице AffiliatedProject, где она в основном выглядит следующим образом:

Affiliated_Project
------------------
PK: Affiliated_Project_Id;
FK: Main_Project_Id
FK: Sub_Project_Id

У меня есть форма, которая отображает основной проект с кнопкой, которая загружает подчиненную форму, где можно искать другие проекты для ссылки на основной проект. Эта форма ищет в коллекции проектов. После того, как пользователь выбрал проект для связи, я создаю новый объект AffiliatedProject, например:

private void AddProject(Project proj)  // proj is the Project coming from the search form
{
   AffiliatedProject proj = new AffiliatedProject 
   {
      SubProject = new Project 
      {
        ProjId = proj.ProjId ,
        ProjName = proj.ProjName ,
        ProjectType = new ProjectType
        {
           Code = proj.ProjectType.Code
        }
      },
   MainProject = SelectedProject;
};

Я пытался просто установить SubProject = proj, но это не сработало. Это почему? Может кто-нибудь посоветовать мне, как мне лучше подойти к этой проблеме?

1 Ответ

0 голосов
/ 16 ноября 2011

Поскольку вы отметили это как вопрос WCF DS, я предполагаю, что приведенный выше код взят из клиента WCF DS. Обратите внимание, что сущности в клиенте WCF DS не отслеживаются самостоятельно, поэтому вы должны уведомить DataServiceContext о любых изменениях, которые вы хотите внести. Смотрите это для более подробной информации (особенно ссылки Создание и изменение отношений): http://msdn.microsoft.com/en-us/library/dd756361.aspx

...