2010-10-18 16 views
13

J'utilise EF4 avec WCF et POCO. J'ai supprimé tous les mots clés virtuels dans les entités POCO. J'ai des employés et des entités d'équipe et la relation entre les deux est 1: N, signifie qu'un employé peut être affecté à une seule équipe."Collection était d'une taille fixe" Exception dans EF4 avec POCO

Et j'aimerais ajouter un nouvel employé avec l'équipe existante. Le code suivant est du côté client.

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

code suivant dans le côté serveur (couche Dao)

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

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

Le problème est que je suis arrivé « Collection était d'une taille fixe » Exception quand j'ajoute exemple teamFromDb à la propriété newEmp.Team dans le code client.

Dois-je ajouter du code à corriger?

De plus, Que dois-je pour une insertion/mise à jour/Supprimer emploi avec des cours POCO et WCF

Merci à l'avance.

+11

Comment avez-vous réussi à résoudre ce problème? –

Répondre

1

Avez-vous essayé de remplacer ICollection par FixupCollection pour les entités proxy générées (classes)? Cela peut aider si vous utilisez WCF avec Entity Framework POCOs

Questions connexes