c# - MVC 两个 Controller 一个 View

标签 c# sql-server asp.net-mvc visual-studio-2013

我正在尝试在现有 Controller 中创建一个详细 View ,该 Controller 连接两个 Controller 并传递到 View 中,但到目前为止我尝试的所有操作都没有奏效。我有 4 个数据模型,我想使用其中的 2 个 Company 和 Staff。因此,当我选择特定公司的详细信息时,它将在同一 View 中返回与该公司关联的所有员工。

HRDataModel 类

  public partial class HRDataModel : DbContext
{
    public HRDataModel()
        : base("name=HRDataModel")
    {
    }
    public virtual DbSet<Company> Companies{ get; set; }
    public virtual DbSet<Attribs> Attribs{ get; set; }
    public virtual DbSet<Staff> Staffs { get; set; }
    ....

公司数据模型

[Table("Company")]
public partial class Company
{
    public Company()
    {
        Staffs = new HashSet<Staff>();
    }
    public virtual ICollection<Staff> Staffs { get; set; }
    public int companyId{ get; set; }

    [Required]
    [StringLength(10)]
    public string companyName{ get; set; }
    .....

员工数据模型

public partial class Staff
{
    public Staff()
    {
        Skills = new HashSet<Skill>();
    }
    public virtual Company Company{ get; set; }

    public virtual ICollection<Skill> Skills { get; set; }

    public int staffId { get; set; }
    .........

我正在尝试在 CompanyController 中获取我的 Details 方法,以显示数据库中所有活跃公司的详细信息以及附属于该公司的所有员工

[Route("Company/Staff/1}")]
public ActionResult Details(int id)
{
    Company co = db.Companies.Find(id); 
    ...How to implement????           
    return View(bu);
}

如果有人能给我指出正确的方向,那就太好了。我试了又试,但还是无法正常工作?

最佳答案

由于 Company 包括 Staff,您可以使用 include 方法来包括相关实体。

var company = db.Companies.Include(c => c.Staffs).FirstOrDefault(x => x.id == companyId);
return View(company);

在你看来:

@foreach(var staff in Model.Staffs) { ... }

关于c# - MVC 两个 Controller 一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33632865/

相关文章:

C# 控制台执行

c# - 替换某些字符之间的值

c# - 保存位图时发生 GDI+ 异常中的一般错误

c# - 使用 asp.net web api 响应 native 自定义身份验证

c# - 删除 LINQ to EF 中的关联数据

sql - 在sql server中转换日期时间

sql - 土耳其语 SQL 排序规则问题(土耳其语 "I")

sql - 按不使用光标分组

c# - 是否有使用 POST 而不是 GET 的 MVC Pager?

c# - LINQ to Entities - 如何从实体返回单个字符串值