"Коллекция имела фиксированный размер" Исключение в EF4 с POCO

Я использую EF4 с WCF и POCO. Я удалил все виртуальные ключевые слова в объектах POCO.

У меня есть сущности Employee и 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);                
        }

Следующий код находится на стороне сервера (слой Dao)

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

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

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

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

Кроме того, что мне нужно для задания Insert/Update/Delete с классами POCO и WCF

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

Ответы

Ответ 1

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