Serializing delegates is not supported on this platform

这是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也是可以用的,后来偶然和人讨论试一下就想到这里然后就改对了. 感谢老天!

posted on 2020-04-10 18:48  ProjectDD  阅读(732)  评论(0编辑  收藏  举报