.net 在LINQ语句中转换为类型
我在ASP.NET4.0中有以下LINQ。我正在通过XML文件读取数据,并尝试将结果过滤到强类型对象中.net 在LINQ语句中转换为类型,.net,linq,.net,Linq,我在ASP.NET4.0中有以下LINQ。我正在通过XML文件读取数据,并尝试将结果过滤到强类型对象中 List<Books> books = (from q in _XmlConnection.Descendants("BookShelf") select new {
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干杯:)你就快到了-现在你正在投影到一个匿名类型(使用
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();