我试图查询数据库集,但是当我得到结果时,我似乎无法访问数据。这是我尝试过的代码。
查询#1:
public List<CustomerMain> testing()
{
var context = new CustomerEntities();
var query = context.CustomerMains
.Where(p=> p.FirstName == "Thor")
.Select(p => new CustomerMain {FirstName=p.FirstName,LastName =p.LastName}).ToList();
return query;
}
查询#2:
public IQueryable<CustomerMain> testing()
{
var context = new CustomerEntities();
var query = context.CustomerMains
.Where(p=> p.FirstName == "Thor")
.Select(p => new CustomerMain {FirstName=p.FirstName,LastName =p.LastName});
return query;
}
CustomerMain
是我的DbSet
,如果我运行其中任何一个并将方法分配给var变量,它就无法抓住FirstName
或LastName
来自变量。如果我将其转换为CustomerMain
,我发现我可以执行此操作,但返回查询不应该是CustomerMain
类型吗?
答案 0 :(得分:5)
它没有让我从变量
中获取FirstName或LastName的选项
因为该方法返回集合或可查询,而不是单个实体。您需要迭代或选择记录:
public CustomerMain FindOne(string firstName)
{
using (var context = new CustomerEntities())
{
var query = context.CustomerMains.Where(p => p.FirstName == firstName);
return query.FirstOrDefault();
}
}
或者:
SelectedIndexChanged
或者,如果您希望该方法返回一条记录(如果没有找到则返回null):
cBox.SelectedIndex=0