2010-10-18 11 views
13

Używam EF4 z WCF i POCO. Usunąłem wszystkie wirtualne słowa kluczowe w jednostkach POCO."Kolekcja miała stały rozmiar" Wyjątek w EF4 z POCO

Mam pracowników i zespół jednostek i relacji między obu jest 1: N, oznacza, że ​​jeden pracownik może być przydzielony tylko jeden zespół.

Chciałbym dodać nowego pracownika do istniejącego zespołu. Poniższy kod znajduje się po stronie klienta.

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);     
     } 

następstwie kod znajduje się na stronie serwera (Dao warstwa)

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

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

Problem jest, że mam „Kolekcja było stałej wielkości” wyjątek kiedy dodać instancję teamFromDb do nieruchomości newEmp.Team w kodzie klienta.

Czy muszę dodać więcej kodu do poprawienia?

Ponadto Co muszę za Wstaw/aktualizacja/Usuń pracę z klas POCO i WCF

Dzięki z góry.

+11

Jak udało Ci się rozwiązać ten problem? –

Odpowiedz

1

Czy próbowałeś zamienić ICollection na FixupCollection dla wygenerowanych elementów pośredniczących (klas)? To może pomóc, jeśli używasz WCF z Entity Framework POCOs

Powiązane problemy