关于DataContext.ExecuteQuery()方法使用问题
在LINQ中包含两个DataContext.ExecuteQuery()方法
1.DataContext.ExecuteQuery<(Of <(TResult>)>) 泛型方法 (String, array<Object>[])
2.DataContext.ExecuteQuery 方法 (Type, String, array<Object>[])
他可以直接查询SQL语句,但是我在网上看的都是用的第一种方法
但我现在的SQL是一个嵌套查询,很复杂,不知道能不能用
DataContext.ExecuteQuery 方法 (Type, String, array<Object>[])
直接查询,请高手帮忙,不会写了,因为不知道这几个参数该传什么.
我的SQL:
SELECT T_Project.projectIndex, T_Project.ItemSetupCode, T_Project.CheckTwo,
T_Project.CheckThree, T_Project.PublishDate, T_Project.AuthorSample,
T_Project.ArrivalDate, T_Project.AlertDate, T_Project.NoteMark,
T_BookBaseInfo.BookName, T_BookBaseInfo.ForTeachingOrSocial,
T_BookBaseInfo.BelongToEditRoom, T_Author.Name, T_Author.CallNumber,
T_Author.CallNumberHome, T_Author.MobileNumber, T_Project.SignedDate,
T_Project.IsCompleted, T_Project.Season, T_BookBaseInfo.PlanEditor,
T_BookBaseInfo.DutyEditor
FROM T_Project INNER JOIN
T_ItemSetUp ON
T_Project.ItemSetupCode = T_ItemSetUp.ItemSetUpCode INNER JOIN
T_Author ON T_ItemSetUp.IDNumber = T_Author.IDNumber INNER JOIN
T_BookBaseInfo ON T_ItemSetUp.BookCode = T_BookBaseInfo.BookCode
在线等,急
------解决方案--------------------
你搞错了一件事...直接SQL查询也是返回实体集合的...所以先去写你的实体类...
elementType
类型:System.Type
要返回的 IEnumerable<(Of <(T>)>) 的类型。
使查询结果中的列与对象中的字段或属性相匹配的算法如下所示:
如果字段或属性映射到特定列名称,则结果集中应包含该列名称。
如果未映射字段或属性,则结果集中应包含其名称与该字段或属性相同的列。
通过先查找区分大小写的匹配来执行比较。如果未找到匹配项,则会继续搜索不区分大小写的匹配项。
如果同时满足下列所有条件,则该查询应当返回(除延迟加载的对象外的)对象的所有跟踪的字段和属性:
T 是由 DataContext 显式跟踪的实体。
ObjectTrackingEnabled 为 true。
实体具有主键。
否则会引发异常。