这是orleans 报的错误,我之前的代码是这样的:
public Task<Result<IEnumerable<Res_Course>>> GetCourses() { try { var x = new Result<IEnumerable<Res_Course>> { Message = "添加课程成功", Success = true }; x.Content =dblm.Res_Course;//.ToArray(); return Task.FromResult(x); } catch (Exception e) { var x = new Result<IEnumerable<Res_Course>> { Message = e.Message, Success = false }; return Task.FromResult(x); } }
这个 dblm 是个 ef context 类, dblm.Res_Courses 这个是个 DbSeb<T> 的属性,问题就出在这里后面我把这里加了个 .ToArray() 就是上面注释的地方,这个问题就被解决了,我使用了最新的两个版本 3.1.4 /3.1.5 本来都有这个问题一直不知道是那出问题了,这个 ef ctx也是可以用的,后来偶然和人讨论试一下就想到这里然后就改对了. 感谢老天!