public IQueryable<object> CompanyUser()
{
IQueryable<object> query;
using (teaCRMDBContext db = new teaCRMDBContext())
{
IDbSet<TSysCompany> comps = db.TSysCompanies;
IDbSet<TSysUser> users = db.TSysUsers;
query = comps.Join(users, c => c.Id, u => u.CompId, (comp, user) => new
{
CompanyId = comp.Id
});}
return query;
}
static void Main(){
IQueryable<object> compUsers = CompanyUser();
foreach (var compUser in compUsers)
{
var aaa= compUser.CompanyId;//这里报错
}}
因为你的是object对象,如果点不出来CompanyId。
使用json对象来达成目的。
匿名类型是internal的,跨模块后,即便使用dynamic也不能检索起属性。
方法:使用JavaScriptSerializer类来辅助达成目标。
看代码其实你不是知道类型么?知道类型强制转换一下不就行了?