Я работаю над проектом ASP.NET Core (2.2) с использованием Entity Framework Core и Fluent API.Я хотел бы сопоставить два столбца таблицы (один из которых является первичным ключом) с одним атрибутом модели.
Предположим, что у нас есть таблица с именем sample_table состоит из столбцов:
|---------------------|------------------|------------------|
| Column1_PK | Column2 | Column3 |
|---------------------|------------------|------------------|
Я хотел бы отобразить поле модели на несколько столбцов.Я догадался, что могу вложить несколько HasColumnName
, как в примере ниже:
public class MyContext : DbContext
{
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.Entity<MyModel>().ToTable("sample_table");
builder.Entity<MyModel>()
.HasKey(m => m.MyId);
builder.Entity<MyModel>()
.Property(m => m.MyId)
.HasColumnName("Column1_PK")
.HasColumnName("Column2"); // I would like to map the Column1_PK and Column2 to m.MyId
builder.Entity<MyModel>()
.Property(m => m.OtherColumn)
.HasColumnName("Column3");
}
}
Подход, описанный выше, не работает.Есть ли способ достичь этой функциональности?