Я в недоумении, что происходит с EF Core 7. Это не мой код и не моя база данных, поэтому никаких изменений в БД не допускается. Вот краткий код, который актуален: < /p>
public class Order
{
public string CompanyId {get; set; } = null!;
public string ClientId {get; set; } = null!;
public int OrderId {get; set; }
public string ValidationCode { get; set; }
public ValidationRule? ValidationRule { get; set; }
...
}
public class ValidationRule
{
public string Code { get; set; }
...
}
public class MyContext : DbContext
{
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity().ToTable("Order").HasKey(x => new
{
x.CompanyId,
x.ClientId,
x.OrderId
}
modelBuilder.Entity()
.HasOne(x => x.ValidationRule)
.WithMany()
.HasForeignKey(x => x.ValidationCode)
.IsRequired(false);
modelBuilder.Entity().ToTable("ValidationRule").HasKey(x => x.Code);
}
}
< /code>
То, что происходит, это то, что ef выбрасывает инвалидную экспрессию, указывающий, что валидация должна иметь определенный первичный ключ или использовать Hasnokey (). Я установил точку останова, и онмодельпирование называется. Как будто EF Core не распознает тот факт, что Haskey () называется или каким -то образом получает сброс. Чего мне не хватает?
Подробнее здесь: https://stackoverflow.com/questions/796 ... fluent-api
EF Core Primary Key не распознается с использованием Fluent API ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение