我正在尝试创建一个表格,根据所选程序显示所有用户。
程序:Id(键),程序(字符串) 程序用户:Id(密钥)、用户名、程序(外键)、程序访问权限
客户端输入:程序(字符串)
var programUsers = context.ProgramUsers
.Include("Program")
.Where(b=>b.Program == clientInput.Program)
.ToList();
当然,由于 b.Program 是 int 而 clientInput.Program 是 string 这是行不通的。有人可以帮我吗?
ProgramUsers
类需要一个ProgramId
属性和一个Program
引用属性。
Program
需要一个ProgramUsers
集合导航属性。
using System.ComponentModel.DataAnnotations.Schema;
public class ProgramUsers
{
public int Id { get; set; }
public string Username { get; set; }
[ForeignKey("Program")]
public int ProgramId { get; set; }
public Program Program { get; set; }
}
public class Program
{
public int Id { get; set; }
[Column("Program")]
public string ProgramName { get; set; }
public ICollection<ProgramUser> ProgramUsers { get; set; }
}
如果您使用的是 Entity Framework Core,请在 Fluent API 中进行配置:
modelBuilder.Entity<ProgramUsers>()
.HasRequired<Program>(x => x.Program)
.WithMany(g => g.Students)
.HasForeignKey<int>(x => x.ProgramId);