首页 新闻 会员 周边

Linq to SQL中报错"不允许在查询中显式构造实体类型"怎么解决

0
悬赏园豆:20 [已关闭问题]

from t in a1
from tp in t.a2
group t by t.Name into g
select new a1{ Name = g.Key, cc= g.Count() }
a1为一个表,a1中有Name和cc字段,类型也一样.

以上在.ToList()时报错...

 

我想在以上的语句后得到IQueryable<a1>,然后做后续处理再得到List<a1>

 

有高手能告诉我以上报错的原理和解决的方法吗?

问题补充: 我是想得到IQueryable<a1>对象,如果用匿名对象该如何转换成IQueryable<a1>对象?
Conan的主页 Conan | 初学一级 | 园豆:115
提问于:2010-03-20 19:12
< >
分享
其他回答(1)
0

from t in a1
from tp in t.a2
group t by t.Name into g
select new { Name = g.Key, cc= g.Count() }

用匿名对象。

bmrxntfj | 园豆:301 (菜鸟二级) | 2010-03-20 21:22
0

public IQueryable<a1> GetxxList()

{
var query = from t in a1
from tp in t.a2
group t by t.Name into g
select new a1{ Name = g.Key, cc= g.Count() }
return query;
}

注意:下面有两种情况,第一种会报“不允许在查询中显式构造实体类型”错误

第一种:

[Table(Name="表名")]

public  class a1{

 [Column(IsPrimaryKey = true,CanBeNull=false,IsDbGenerated=true,AutoSync=AutoSync.OnInsert)]

 public int cc{get;set;}

[Column(Name = "Name")]

 public string Name{get;set;}

}
第二种:正确的

public  class a1{

 public int cc{get;set;}

 public string Name{get;set;}

}

初雪之恋 | 园豆:202 (菜鸟二级) | 2012-04-29 16:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册