在提交之前从上下文中获取数据
本文关键字:获取 数据 上下文 提交 | 更新日期: 2023-09-27 18:18:10
customers customer = GetCustomer();
customer.UserId = userId;
customer.NeedToPayTax = true;
customer.IsApproved = false;
_customerRepository.Create(customer);
之后在我们做一个提交之前,我尝试搜索这个新的customer
public int GetUncofirmedCount()
{
var query = from p in _context.Set<customers>()
where p.IsApproved == false
select p;
return query.Count();
}
,但大小总是0
。如果我提交,那么我可以看到正确的结果。为什么?我怎么能得到数据从上下文返回,即使还没有提交?
未测试代码:
_customerRepository.ObjectStateManager.GetObjectStateEntries(EntityState.Added)
.Where(o => o.GetType() == typeof(Customer) && o => !o.IsApproved)
.Count();
或者,对于较新版本的EF,检查Local
;
_customerRepository.Customers.Local
.Where(o => o.GetType() == typeof(Customer) && o => !o.IsApproved)
.Count();