通过var值填充泛型集合
本文关键字:泛型 集合 填充 var 通过 | 更新日期: 2023-09-27 18:10:45
在我的代码中,我需要帮助将result
值放入oList
NorthwindDataContext db = new NorthwindDataContext();
List<Category> oList = new List<Category>();
var result = from p in db.Categories
select new { CategoryID = p.CategoryID, CategoryName=p.CategoryName };
我想要用结果值填充oList
。
您的结果没有包含列表中所需的整个对象。因此,您可以执行以下操作。
NorthwindDataContext db = new NorthwindDataContext();
List<Category> oList = new List<Category>();
oList.AddRange(db.Categories);
如果不严格要求添加到列表中,那么您可以简单地将结果集转换为列表,如下所示:
NorthwindDataContext db = new NorthwindDataContext();
List<Category> oList = db.Categories.ToList();
但是,您需要知道这是示例代码。像这样拉整张表可能不是最好的做法(除非您知道表中有固定数量的记录不会更改,并且可以安全地将它们全部加载到内存中(
当前结果是一个匿名类型的集合,您希望它返回一个Category。
NorthwindDataContext db = new NorthwindDataContext();
List<Category> oList = new List<Category>();
var result = from p in db.Categories
select new Category { CategoryID = p.CategoryID, CategoryName=p.CategoryName };
然后您可以将您的类别添加到oList-
oList.AddRange(result.ToList());
编辑:
好吧,假设你只想从数据库中获得几个字段,那么只使用这些字段创建一个新的类型(如果你不需要在方法之外使用它,你就不必这样做,只需将其作为匿名类型(-
class CategorySml
{
public int CategoryID {get; set;}
public string CategoryName {get; set;}
}
NorthwindDataContext db = new NorthwindDataContext();
List<CategorySml> oList = new List<Category>();
var result = from p in db.Categories
select new CategorySml { CategoryID = p.CategoryID, CategoryName=p.CategoryName };
NorthwindDataContext db = new NorthwindDataContext();
List<Category> oList = db.Categories.ToList();
编辑:
假设Category
类是您自己的
NorthwindDataContext db = new NorthwindDataContext();
List<Category> oList = db.Categories.Select(p => new Category { CategoryID = p.CategoryID, CategoryName=p.CategoryName }).ToList();