linq to sql 查询的问题,求助
对linq 还不是很熟悉,接触linq了,就有一种冲动要使用它,不用ado了,可是前段时间写一个linq 查询语句的时候出现了问题,问题是这样子的
var db = Factory.Create();//就是那个实例DataContext
var AppExam = (from s in db.App_Exam
where s.Is_A != null && s.A_Penson == username
orderby s.Id descending
select new
{
Id = s.Id,
A_Penson = s.A_Penson,
D_Penson = s.D_Penson,
D_Phone = s.D_Phone,
P_Count = s.P_Count,
A_ExamTime = s.A_ExamTime,
A_Time = s.A_Time,
Last_AppTime = s.Last_AppTime,
Remark = s.Remark
}).Take(page_size).Skip(page_num);
return AppExam.ToList();
报错这里select new 这里,我在这里加上了 App_Exam
当初成功了,数据也出来了的,
过来一天,前台弄好了,要使用的时候又出问题了,报错(不允许在查询中显式构造实体类型)
我郁闷了,在网上找了资料
ItemDataContext dataContext = new ItemDataContext();
var query = from item in dataContext.Items
where item.UserID == ownerId
orderby item.CreateTime descending
select new
{
ItemID = item.ItemID,
Title = item.Title,
CreateTime = item.CreateTime,
UserID = item.UserID
};
using (dataContext.Connection)
{
return dataContext.ExecuteQuery<Item>(query);
}
//using (db.Connection)
//{
// return db.ExecuteQuery<App_Exam>(AppExam);//报错
//}
可是 db.ExecuteQuery<App_Exam>(AppExam);这个地方报错,参数不正确,我不知道该加什么参数了,求解、、、
好像这个方法必须使用两个参数,第二个参数是一个数组类型,但是我不知道它有什么用,也不知道怎么加了,求助一下
------解决方案--------------------不会ling,俺直接写SQL语句,ling多了也复杂。
------解决方案--------------------试用这种试试,只是思路
select(m=>new {
Id = s.Id,
A_Penson = s.A_Penson,
D_Penson = s.D_Penson,
D_Phone = s.D_Phone,
P_Count = s.P_Count,
A_ExamTime = s.A_ExamTime,
A_Time = s.A_Time,
Last_AppTime = s.Last_AppTime,
Remark = s.Remark
})).Take(page_size).Skip(page_num);
------解决方案--------------------有可能是用了匿名类的缘故,select new {} 生成的是匿名类,
定义一个强类型, select new class1{
..
}
试试