我在ASP.NET 4.0中有以下LINQ.我正在通过XML文件读取数据并尝试将结果过滤为强类型对象.
List<Books> books = (from q in _XmlConnection.Descendants("BookShelf")
select new
{
Title = q.Element("title").Value,
Author = q.Element("autor").Value
}).ToList();
Run Code Online (Sandbox Code Playgroud)
现在我可以做的是在此语句之后运行foreach并创建一个分配给列表的新Books对象.我想做的是包含LINQ语句中的所有内容,因此当我为Title或Author定义一个值时,它会立即将它分配给List <Books>.这样我就可以直接跳到"归还书".有没有办法做到这一点?
(注意:上面的代码返回一个错误,但是现在这很好.我可以使用"var books"并且它可以正常工作,但是我把它留下来显示我想要的样子).
干杯:)
你几乎就在那里 - 现在你正在投射到一个匿名类型(使用new {}
) - 投射到类实例而不是你需要指定类名,所以假设你的 Book
类有公共属性,Title
并且Author
:
List<Book> books = (from q in _XmlConnection.Descendants("BookShelf")
select new Book()
{
Title = q.Element("title").Value,
Author = q.Element("autor").Value
}).ToList();
Run Code Online (Sandbox Code Playgroud)
编辑:您的示例使用的是类型Books
- 我假设保存单个图书属性的类名为Book(singular).
归档时间: |
|
查看次数: |
101 次 |
最近记录: |