我是一位学习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