2010-10-18 37 views
13

Tôi đang sử dụng EF4 với WCF và POCO. Tôi đã xóa tất cả từ khóa ảo trong thực thể POCO."Bộ sưu tập có kích thước cố định" Ngoại lệ trong EF4 với POCO

Tôi có nhân viên và nhóm thực thể và mối quan hệ giữa cả hai là 1: N, có nghĩa là một nhân viên chỉ có thể được phân bổ một nhóm.

Và tôi muốn thêm nhân viên mới với nhóm hiện có. Mã sau nằm ở phía máy khách.

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

mã sau là ở phía máy chủ (Đạo lớp)

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

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

Vấn đề là tôi có "Bộ sưu tập là một kích thước cố định" ngoại lệ khi tôi thêm teamFromDb dụ đến tài sản newEmp.Team trong mã máy khách.

Tôi có cần thêm một số mã khác để khắc phục không?

Bên cạnh đó, Tôi cần những gì để cho Insert/Update/Delete việc với các lớp POCO và WCF

Cảm ơn trước.

+11

Làm thế nào mà bạn quản lý để giải quyết vấn đề này? –

Trả lời

1

Bạn đã cố gắng thay thế ICollection thành FixupCollection cho các thực thể proxy (lớp) được tạo không? Điều đó có thể giúp đỡ nếu bạn đang sử dụng WCF với thực thể khuôn khổ POCOs

Các vấn đề liên quan