在我的代码中,我需要帮助才能将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
填充结果值。
答案 0 :(得分:1)
您的结果没有列表中所需的整个对象。 所以你可以做以下事情。
NorthwindDataContext db = new NorthwindDataContext();
List<Category> oList = new List<Category>();
oList.AddRange(db.Categories);
如果不严格要求添加到列表,那么您只需将结果集转换为列表,如下所示:
NorthwindDataContext db = new NorthwindDataContext();
List<Category> oList = db.Categories.ToList();
但是你需要知道这是示例代码。像这样拉出整个表可能不是最好的事情(除非你知道在表中会有固定数量的记录不会改变,并且可以安全地将它们全部加载到内存中)。
答案 1 :(得分:0)
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();
答案 2 :(得分:0)
目前结果是一个匿名类型的集合,您希望它返回一个类别。
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 };