Ответ 1
Вы пытались заменить ICollection
на FixupCollection
для сгенерированных объектов-прокси (классов)?
Это может помочь, если вы используете WCF
с инфраструктурой сущности POCOs
Я использую 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
Спасибо заранее.
Вы пытались заменить ICollection
на FixupCollection
для сгенерированных объектов-прокси (классов)?
Это может помочь, если вы используете WCF
с инфраструктурой сущности POCOs
См. этот вопрос для получения дополнительной информации об этой проблеме с шаблоном: