将外部数据拉入ASP.NET MVC中的模型

时间:2019-02-11 01:59:40

标签: asp.net linq asp.net-mvc-5

我是MVC的新手。我仔细阅读了Microsoft的MVC 5入门指南,并对工作原理有了一些基本的了解。我要做的是创建一个视图页面,该页面显示我的域模型中的数据以及不属于域模型的相关数据(相关数据位于另一个我不打算插入或更新记录的sql服务器上。它只是相关的数据,我可以将其与域模型中的数据相关联。

为简单起见,假设我有一个域模型,其中包括:

具有ID名,姓氏,课程ID的学生 具有ID,名称,部门,ExtraInfoId的课程

我想创建另一个“模型”(不确定模型是否是正确的术语)

具有ExtraInfoId,时间和位置的ExtraInfo

ExtraInfo通过ExtraInfoId与课程相关。 ExtraInfo将不在我正在创建或更新的数据库中。这是我要连接并从中提取数据以供显示的外部数据库,例如获取学生的名字,所修课程以及与该课程相关的所有“ ExtraInfo”。

我希望这是有道理的。任何信息或一些快速示例代码将不胜感激。

谢谢!

1 个答案:

答案 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);