作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的第一个 ASP 项目,我真的很困惑如何将多个表连接到一个 View 模型中。我有一个名为项目的模型,它将用于创建新项目并将它们插入数据库中。
using System;
namespace vasttPM1.Models
{
public class Project
{
public int ID { get; set; }
public string ProjectName { get; set; }
public string CreatedBy { get; set; }
public DateTime CreateDate { get; set; }
public DateTime StartDate { get; set; }
public DateTime Enddate { get; set; }
public string Installer { get; set; }
public int ProjectNumber { get; set; }
public string ProjectManager { get; set; }
public string CustomerName { get; set; }
public string CustomerPhone { get; set; }
public string CustomerEmail { get; set; }
public string ProjectType { get; set; }
public string Building { get; set; }
public string Rooms { get; set; }
public string ProjectDescription { get; set; }
public int Status { set; get; }
}
}
我在数据库中有一个名为 ProjectStatus 的静态表,其中包含与每个项目关联的一些字段。主要是“状态”和“百分比”字段。
所以我想做的是获取上面模型中的信息,并从项目状态表中获取状态百分比,其中project.status = projectstatus.id
。
然后将结果组合到 View 模型中。
这听起来很容易,但我真的很努力地思考如何完成这项工作。
有什么建议吗?
最佳答案
根据我的理解,您想要将两个表放入一个 View 模型中。为此,您需要使用所需的属性创建一个新的 View 模型类。例如:
public class ProjectViewModel
{
public string ProjectName { get; set; }
public string Status { set; get; }
public int Percent { set; get; }
}
然后,您可以使用 Linq 查询将两个表连接在一起,并将它们选择到新对象中,如下所示:
var results = (from p in db.Project
join ps in db.ProjectStatus on p.Status equals ps.Id
select new ProjectViewModel()
{
ProjectName = p.ProjectName,
Status = ps.StatusName,
Percent = ps.PercentComplete
}).ToList();
这应该为您创建一个 ProjectViewModel 列表,然后您可以在 View 中使用它。我可能有一些属性或列名称不正确。我必须猜测它们在您的 ProjectStatus 表中可能是什么。
关于asp.net - 如何将这两个模型连接到 View 模型中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44010205/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!