我是一位學習ASP.NET MVC的新手,我正在使用NInject來實現IoC。我已經創造了工作和地點的數據模型如下在視圖中顯示來自兩種不同模型的數據
表名稱 - JobDetails
JobId<PK>
LocationId<FK>
JobName
表名稱 - 位置
LocationId<PK>
LocationName
我已經創建了一個位置和JobDetails實體如下
作業詳細
public class JobDetails
{
[Key]
public int JOBID { get; set; }
public int LocationID { get; set; }
public string JOBNAME { get; set; }
}
位置
public class Location
{
[Key]
public int LocationID{ get; set; }
public string LocationName { get; set; }
}
我也有我的工作細節和地點摘要和上下文類如下
public interface IJobDetails
{
IEnumerable<JobDetails> jobDetailsInterface { get; }
}
public interface ILocation
{
IEnumerable<Location> locationInterface { get; }
}
public class EFLocationRepository : ILocation
{
public EFDbContext context = new EFDbContext();
public IEnumerable<Location> locationInterface
{
get { return context.Location; }
}
}
public class EFJobRepository : IJobDetails
{
public EFDbContext context = new EFDbContext();
public IEnumerable<JobDetails> jobDetailsInterface
{
get { return context.JobDetails; }
}
}
我的模型類職位和位置是作爲低於
public class JobListViewModel
{
public IEnumerable<JobDetails> jobDetails { get; set; }
}
public class LocationListViewModel
{
public IEnumerable<Location> Location { get; set; }
}
在我的JobDetail控制器我想顯示的位置名稱,而不是位置ID。 我的JobDetail控制器如下
public class JobController : Controller
{
public IJobDetails repository;
public JobController(IJobDetails job)
{
repository = job;
}
public ViewResult List()
{
return View(repository.jobDetailsInterface);
}
}
如何顯示地點名稱,而不是位置ID在我的作業視圖?
N.B-我正在從亞當弗里曼書中學習MVC,並試圖創造新的東西。請讓我知道我所做的是否正確。
你在使用EntityFramework嗎?如果是這樣,您應該可以通過作業存儲庫(如repository.jobDetailsInterface.Location.LocationName)來訪問LocationName。 – sleeyuen
我正在使用實體框架,但我無法訪問locationName通過jobDetailsInterface – BSB