多表链接查询,返回多个实体运行报错 返回

求助
2 72


官方上面写的案列:

List<School> school = db.Queryable<Student,School>((st,sc)=>st.SchoolId=sc.Id).Select((st,sc)=>sc).ToList();

 
//返回多个表
List<School> school = db.Queryable<Student,School>((st,sc)=>st.SchoolId=sc.Id).Select((st,sc)=>new {st,sc}).ToList();

  这个是官网文档这样写的,这个一看写文档的人没注意写的有问题


我自己的SQL(异常):

var d  = SqlServerClient.Queryable<FileInfo, Test_A>((st, sc) => st.FileId == sc.FileNumber).Select((st, sc) => new { st, sc }).Take(10).ToList();

报错信息如下:

        Newtonsoft.Json.JsonReaderException:“Error reading bytes. Unexpected token: StartObject. Path 'st.Data.SyncRoot', line 1, position 94.”

报错信息看内部序列化出错但是找不出问题.


匿名字段查询(正常):

  var data = SqlServerClient.Queryable<FileInfo, Test_A>((st, sc) => new object[] { JoinType.Left, st.FileId == sc.FileNumber })

                       .Select((st, sc) => new { Name = st.CreatorId, SchoolId = sc.ID })

                       .Take(10)

                       .ToList();


热忱回答2

  • image.png上面出现的问题,经过我排查发现data字段在这里搞怪,截图中,第一种查询程序正常,第二种如果不屏蔽x.Data程序就会报错(和之前的错误一样),Data这个字段是一个二进制字段,数据库中实际全部是null

    0 回复
  • image.png


    一个是匿名的一个是实体类,匿名的要报错.


    0 回复

版块

学习文档

最新会员

发布达人

回贴达人