2010-10-18 2 views
13

Я использую EF4 с WCF и POCO. Я удалил все виртуальные ключевые слова в объектах POCO.«Коллекция была фиксированного размера» Исключение в EF4 с POCO

У меня есть члены Employee and Team и отношения между ними: 1: N, означает, что одному сотруднику может быть выделена только одна команда.

И я хотел бы добавить нового сотрудника с существующей командой. Следующий код находится на стороне клиента.

private void btnAdd_Click(object sender, RoutedEventArgs e) 
     { 
      Team teamFromDb = ServiceProxy.GetService.GetTeamById(181); 
      Employee newEmp = new Employee{ UserName="username"}; 
      newEmp.Team = teamFromDb; 
      ServiceProxy.GetService.AddEmployee(newEmp);     
     } 

После кода на стороне сервера (ДАО слой)

public void AddEmployee(Employee emp) 
     { 
      ctx.Employees.AddObject(emp); 
     } 

     public Team GetTeamById(int teamId) 
     { 
      return ctx.Teams.Where(t => t.TeamId == teamId).FirstOrDefault(); 
     } 

Проблема заключается в том, что я получил «Коллекция была фиксированного размера» Exception при добавлении экземпляра teamFromDb к свойству newEmp.Team в клиентском коде.

Нужно ли добавить еще какой-нибудь код для исправления?

Кроме того, что мне нужно для вставки/обновления/Удалить работу с классами POCO и WCF

Спасибо заранее.

+11

Как вам удалось решить эту проблему? – 2011-02-09 13:33:27

ответ

1

Вы пытались заменить ICollection на FixupCollection для сгенерированных объектов-прокси (классов)? Это может помочь, если вы используете WCF с каркасом объекта POCOs

Смежные вопросы