使用实体框架获得结果
本文关键字:结果 框架 实体 | 更新日期: 2023-09-27 18:04:49
我试图查询数据库集,但当我得到结果时,我似乎无法访问数据。这是我试过的代码。
查询# 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
类型已经?
它没有给我从变量
中获取FirstName或LastName的选项
因为该方法返回一个集合或可查询对象,而不是单个实体。您需要迭代或选择记录:
var customers = testing();
foreach (CustomerMain customer in customers)
{
// access customer.FirstName
}
或:
var customers = testing();
var oneCustomer = customers.FirstOrDefault(c => c.FirstName == "Thor");
// access oneCustomer.FirstName
或者,如果您希望方法返回一条记录(如果没有找到则返回null):
public CustomerMain FindOne(string firstName)
{
using (var context = new CustomerEntities())
{
var query = context.CustomerMains.Where(p => p.FirstName == firstName);
return query.FirstOrDefault();
}
}