Entity Framework两张表联合查询后返回值是什么?
obj.Emps.Join(
obj.PubMsgs,
p => p.EmpID,
c => c.EmpID,
(p, c) => new {
p.EmpID,p.Name,c.Mesg
}).ToList();
这是Emp表和PubMsg表联合查询的结果,但是写在一个方法中,这个方法应该返回一个什么值呢?
------解决方案--------------------这个不好办啊,你用的是匿名对象,所以只能返回IList对象或者IEnumerable对象,object对象这类已经消除“特性”的通用对象
------解决方案-------------------- var sss= obj.Emps.Join(
obj.PubMsgs,
p => p.EmpID,
c => c.EmpID,
(p, c) => new {
p.EmpID,p.Name,c.Mesg
}).ToList();
鼠标放在var上 就可以看出是什么类型了
------解决方案--------------------建议取消匿名对象,新封装一个传输对象出来,这样可以使用List<T>,IEnumerable<T>这类强类型接口,方便调用者使用
ps:这也是俺们一直说的model不是一个从一而终的玩意,根据需要他本来就应该灵活组合,所以才会DTO,VO,BO出现