.net 在LINQ语句中转换为类型

.net 在LINQ语句中转换为类型,.net,linq,.net,Linq,我在ASP.NET4.0中有以下LINQ。我正在通过XML文件读取数据,并尝试将结果过滤到强类型对象中 List<Books> books = (from q in _XmlConnection.Descendants("BookShelf") select new {

我在ASP.NET4.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();
List books=(来自_XmlConnection.substands(“书架”)中的q)
选择新的
{
标题=q元素(“标题”)值,
作者=q.Element(“自动”)值
}).ToList();
现在我能做的是在这个语句之后运行foreach并创建一个新的Books对象,它被分配给一个列表。不过我想做的是在LINQ语句中包含所有这些内容,这样当我为Title或Author定义一个值时,它会立即将其分配给List。这样我就可以直接跳到“还书”了。有办法做到这一点吗

(注意:上面的代码返回一个错误,但目前这还可以。我可以使用“var books”,它工作正常,但我将其保留为此以显示我希望它的外观)


干杯:)

你就快到了-现在你正在投影到一个匿名类型(使用
new{}
)-要投影到一个类实例,你需要指定类名,所以假设你的
类有公共属性
标题
作者

List<Book> books = (from q in _XmlConnection.Descendants("BookShelf")
                                select new Book()
                                {
                                    Title = q.Element("title").Value,
                                    Author = q.Element("autor").Value
                                }).ToList();
List books=(来自_XmlConnection.substands(“书架”)中的q)
选择新书()
{
标题=q元素(“标题”)值,
作者=q.Element(“自动”)值
}).ToList();
编辑:您的示例使用了类型
Books
——我假设保存一本书的属性的类命名为book(单数)。

List Books=(来自_XmlConnection.substands(“BookShelf”)中的q)
选择新书()
{
标题=q元素(“标题”)值,
作者=q.Element(“自动”)值
}).ToList();

这是有道理的,它现在工作正常。我至少希望这会是一件棘手的事情,这样就不会因为被卡住而感到难过;)
List<Books> books = (from q in _XmlConnection.Descendants("BookShelf")
                                select new Book()
                                {
                                    Title = q.Element("title").Value,
                                    Author = q.Element("autor").Value
                                }).ToList();