Вот две таблицы, одна с именем State
, другая с именем WorkingOn
.
workers_name state
aaa onduty
bbb offduty
ccc onduty
ddd offduty
workers_name working_on
aaa projectA
aaa projectB
aaa projectC
bbb projectB
bbb projectC
ccc projectA
ccc projectB
ccc projectC
ccc projectD
ddd projectC
Теперь я хочу получить дежурного работника, работающего над наименьшим количеством проектов.
Я пытался добиться этого с помощью SQL кода:
select state.name,count(workingon.working) from state join workingon on state.name=workingon.name group by state.name
Однако я хочу добиться этого с помощью Entity Framework Core.
Не могли бы вы мне помочь? Спасибо.
===================================== Вот код сервера:
public class TestDBContext : DbContext
{
public virtual DbSet<statemodel> state { get; set; }
public virtual DbSet<workingonmodel> workingon { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Data Source=123.db");
}
public TestDBContext(DbContextOptions options) : base(options)
{
}
protected TestDBContext()
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
builder.Entity<statemodel>().HasNoKey();
builder.Entity<workingonmodel>().HasNoKey();
base.OnModelCreating(builder);
}
}
public class statemodel
{
public string name { get; set; }
public string state { get; set; }
}
public class workingonmodel
{
public string name { get; set; }
public string working { get; set; }
}