我正在将 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 属性时,我得到了“Collection was a fixed size”异常。
我需要添加更多代码来修复吗?
另外,对于带有 POCO 类和 WCF 的插入/更新/删除作业,我需要做什么
提前致谢。
最佳答案
您是否尝试将 ICollection
替换为 FixupCollection
以生成代理实体(类)?
如果您将 WCF
与 Entity Framework POCOs
一起使用,这可能会有所帮助
关于c# - "Collection was of a fixed size"EF4 与 POCO 中的异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3957136/