首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

Linq 初学,问个有关问题.

2013-02-24 
Linq 初学,问个问题.Tableeast_member member dataContext.GetTableeast_member()var data from

Linq 初学,问个问题.
Table<east_member> member = dataContext.GetTable<east_member>();

var data = from dataObj in member
           where dataObj.member_about2id == "21a2a5be-295a-440d-a2c7-b01f8dcb2b50"
           orderby dataObj.member_order
           select new { dataObj.east_about2.about2_cname, dataObj.member_cname, dataObj.member_cduty };

foreach (east_member m in data)
{
    Response.Write(m.member_cname);
}


foreach 提示:无法将类型 "AnonymousType#1" 转换为 "LinqClass.east_member".
经测试,将
select new { dataObj.east_about2.about2_cname, dataObj.member_cname, dataObj.member_cduty };
改成 select dataObj 就正常了,我看书上就是这样筛选显示项.

请各位大是指点一二.


[解决办法]
select new {……}//一个匿名类
你可以将foreach (east_member m in data)
改为
foreach (var m in data)
[解决办法]
也可以select new 自定义
var data = from dataObj in member
           where dataObj.member_about2id == "21a2a5be-295a-440d-a2c7-b01f8dcb2b50"
           orderby dataObj.member_order
           select new east_member() { dataObj.east_about2.about2_cname, dataObj.member_cname, dataObj.member_cduty };

[解决办法]
foreach (east_member m in data)
{
    Response.Write(m.member_cname);
}
少了一个类型推断的var
foreach ( var m in data)
{
    Response.Write(m.member_cname);
}
[解决办法]
一个是匿名类   一个不是

热点排行