0

リポジトリに何かを保存していて、呼び出す前に値を取得する必要があります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

どうして取り出せないの?私は明らかな間違いを見落としていますか?

よろしくお願いします!

ここに画像の説明を入力

4

1 に答える 1

1

おそらく GetAll() メソッドは、AddedState にエンティティを含めません。オブジェクト コンテキストで新しく追加されたテナント エンティティの状態は「AddedState」になります。

于 2013-02-25T13:25:44.523 に答える