リポジトリに何かを保存していて、呼び出す前に値を取得する必要があります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
。
どうして取り出せないの?私は明らかな間違いを見落としていますか?
よろしくお願いします!