我将某些内容存储在存储库中,并且需要在调用之前检索该值SaveChanges
。结果是null
,但在调试器中我可以看到存储库包含本地值。
var tenant = TenantRepository.Create(model.TenantName);
// a bit further in the stacktrace I retrieve the entity
var tenant = TenantRepository.GetTenantByName(tenantName);
// now tenant is null.
中的相关方法TenantRepository
:
Create
方法:
public Tenant Create(string tenantName)
{
var tenant = new Tenant
{
Name = tenantName,
Guid = Guid.NewGuid().ToString()
};
if (Exists(tenant.Name))
{
throw new TenantAlreadyExistsException(tenant.Name);
}
_repository.Add(tenant);
return tenant;
}
GetTenantByName
方法:
public Tenant GetTenantByName(string name)
{
if (string.IsNullOrEmpty(name))
{
throw new ArgumentException("name");
}
var foundTenant = GetTenants().SingleOrDefault(tenant => name.Equals(tenant.Name));
return foundTenant;
}
private IQueryable<Tenant> GetTenants()
{
return _repository.GetAll().Include(tenant => tenant.Users);
}
正如您在这张图片中看到的,Tenant
在Repository
.
为什么我无法找回它?我是否忽略了明显的错误?
提前谢谢了!