我是MVC的新手。我仔细阅读了Microsoft的MVC 5入门指南,并对工作原理有了一些基本的了解。我要做的是创建一个视图页面,该页面显示我的域模型中的数据以及不属于域模型的相关数据(相关数据位于另一个我不打算插入或更新记录的sql服务器上。它只是相关的数据,我可以将其与域模型中的数据相关联。
为简单起见,假设我有一个域模型,其中包括:
具有ID名,姓氏,课程ID的学生 具有ID,名称,部门,ExtraInfoId的课程
我想创建另一个“模型”(不确定模型是否是正确的术语)
具有ExtraInfoId,时间和位置的ExtraInfo
ExtraInfo通过ExtraInfoId与课程相关。 ExtraInfo将不在我正在创建或更新的数据库中。这是我要连接并从中提取数据以供显示的外部数据库,例如获取学生的名字,所修课程以及与该课程相关的所有“ ExtraInfo”。
我希望这是有道理的。任何信息或一些快速示例代码将不胜感激。
谢谢!
答案 0 :(得分:1)
假设您有两个班级,一个是您的模型
public class Student{
public string Name {get;set;}
public string LastName {get;set;}
public int CourseId {get;set;}
public string Name {get;set;}
public string Department {get;set;}
public ExtraInfo ExtraInfos {get;set}
}
public class ExtraInfo {
public int ExtraInfoId {get;set;}
public DateTime? Time {get;set;}
public string Location {get;set;}
}
然后,在您的控制器中,您首先要对Student类进行赋值,然后对Student类的ExtraInfos属性进行赋值,并将该Student类返回为视图模型。
var student = GetMyStudent(id); //method for accessing your student's data, could be linq with EF, or a httpclient call
student.ExtraInfos = GetExtraInfo(id); //same
return View(student);