У меня есть две таблицы: одна со списком клиентов, а другая независимо от того, активны они или нет. Я хочу связать их с Entity Framework, однако я изо всех сил. Две таблицы уже настроены и должны иметь первичные ключи или внешние ключи.
namespace DataWarehouse.Models
{
public class DatabaseList
{
[Key]
public string STARDB { get; set; }
public int DBClientID { get; set; }
public string ClientName { get; set; }
public DatabaseStatus DatabaseStatus { get; set; }
public ICollection<PayComponents> PayComponents { get; set; }
= new List<PayComponents>();
}
public class DatabaseStatus
{
[Key]
public string STARDB { get; set; }
public string STATUS { get; set; }
public DatabaseList DatabaseList { get; set; }
}
public class DatabaseContext : DbContext
{
public DatabaseContext(DbContextOptions<DatabaseContext> options)
: base(options)
{
}
public DbSet<DatabaseList> DatabaseList { get; set; }
public DbSet<DatabaseStatus> Status { get; set; }
public DbSet<PayComponents> PayComponents { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<DatabaseList>()
.HasOne(p => p.DatabaseStatus)
.WithOne(i => i.DatabaseList)
.HasForeignKey<DatabaseStatus>(k => k.STARDB);
}
}
}
Я надеялся, что Entity Framework увидит столбцы STARDB
и заметит, что они одинаковы в обеих таблицах и соответствуют им таким образом. Все, что я хочу, это добавить столбец Status
из DatabaseStatus
в таблицу Databaselist
.
Спасибо.