Finbuckle.MultiTenant: TenantInfo имеет значение NULL в интеграционном тесте в WebApplicationFactoryC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Finbuckle.MultiTenant: TenantInfo имеет значение NULL в интеграционном тесте в WebApplicationFactory

Сообщение Anonymous »

когда я запрашиваю таблицу с помощью функции MuiltiTenant, я получаю NullReferenceException
Query
public async Task GetByIdAsync(UnitId id, CancellationToken cancellationToken = default)
{
return await _dbContext.Units
.FirstOrDefaultAsync(unit => unit.Id == id, cancellationToken);
}

На этом объекте
using Server.Domain.Units;
using Finbuckle.MultiTenant.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;

namespace Server.Infrastructure.Configurations;

internal class UnitConfiguration : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
builder.ToTable("lookup_units");
builder.HasKey(u => u.Id);
builder.Property(u => u.Id)
.ValueGeneratedNever()
.HasConversion(
id => id.Value,
value => UnitId.Create(value));
builder.HasIndex(u => u.Name).IsUnique();
builder.HasQueryFilter(q => !q.IsDeleted);
builder.IsMultiTenant().AdjustUniqueIndexes();

builder.Property(u => u.Name).HasMaxLength(64);
builder.Property(u => u.DefaultContentCount);
builder.HasData(new List()
{
Unit.Create(
UnitId.Create(Guid.Parse("F7AE4D5C-B1B7-47F0-B0A0-D98DAC374FE8")),
"bag", null, "tenant-1")
});
}
}

Обстоятельства:
  • Только когда IsMultiTenant вызывается в следующем объекте
    Только когда я выполняю интеграционный тест с использованием WebApplicationFactory
Конфигурация >
Чтобы свести к минимуму зависимости и изолировать проблему, я настроил MultiTenant следующим образом:
services.AddMultiTenant()
.WithStaticStrategy("tenant-1")
.WithInMemoryStore(config=>
config.Tenants.Add(new TenantInfo
{
Id = "tenant-1",Identifier = "tenant-1", Name = "tenant-1",
}))
;


Подробнее здесь: https://stackoverflow.com/questions/782 ... -webapplic
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»