请教高手关于LINQ用法 以下方法GetData()应该返回什么类才正确 〈books>
<book>
<id>0 </id>
<name>ASP.NET AJAX </name>
</book>
....
</books> protected void Page_Load(object sender, EventArgs e)
{
this.GridView1.DataSource=GetData();
} private ******* GetData()
{
XElement xEle=XElement.Load("...");
var books=from x in xEle.Element("books").Elements("book")
select new
{
id=x.Element("id").value,
name=x.Element("name").value,
}; return books;
}
<book>
<id>0 </id>
<name>ASP.NET AJAX </name>
</book>
....
</books> protected void Page_Load(object sender, EventArgs e)
{
this.GridView1.DataSource=GetData();
} private ******* GetData()
{
XElement xEle=XElement.Load("...");
var books=from x in xEle.Element("books").Elements("book")
select new
{
id=x.Element("id").value,
name=x.Element("name").value,
}; return books;
}
var books=from x in xEle.Element("books").Elements("book")
select new
{
id=x.Element("id").value,
name=x.Element("name").value,
}; 所以不能以IEnumerable<XElement>返回若以IEnumerable<XElement>定义,则不能先输入数组的值
IEnumerable<XElemnet> books=from x in xEle.Element("books").Elements("book")
select x;
问题是在于需要有一个返回值可以成为GridView.DataSource的对象
不能真正显示出LINQ的优点。而且令网络开销太大,严重影响速度。请问各位高手,哪一位有更加好的招数,请指教。class Book
{
private string id1;
private string name1; public string id
{
get{return id1;}
set{id1=value;}
}
...
}protected void Page_Load(object sender, EventArgs e)
{
this.GridView1.DataSource=GetData();
} private List<Book> GetData()
{
XElement xEle=XElement.Load("...");
IEnumerable<Element> books=from x in xEle.Element("books").Elements("book")
select x;
List<Book> thebooks=new List<Book>();
foreach(var book in books)
{
Book theBook=new Book();
theBook.id=x.Element("id").value;
theBook.name=x.Element("name").value;
thebooks.Add(theBook);
} return thebooks;
}
IQueryable<T>