2015-06-17 3 views
1

У меня есть три таблицы в моей базе данных MSSQL. Я уже создал три файла класса. Мне нужно, чтобы файл MVC C# index.chtml отображал весь отчет о результатах данных. Ниже моих этих трех табличных классов отображается только название области, но не отображается доставкаDay.DeliveryDay. Он должен отображаться в понедельник, пятницу в любой день. Может ли кто-нибудь рассказать мне, как мне показать день?отображение 3 таблицы значения данных

public class DeliveryTime 
{ 
    [Key] 
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] 
    public int DeliveryAuto { get; set; } 
    [Required] 
    public int DeliveryTimeId { get; set; } 
    [Required] 
    public int DeliveryPeriodID { get; set; } 
    [Required] 
    [Display(Name = "Delivery Day:")] 
    public string DeliveryDay { get; set; } 
} 

public class SubRegion 
{ 
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] 
    [Key] 
    public int SubregionID { get; set; } 
    [Required] 
    [Display(Name = "Sub Region Name:")] 
    public string SubregionName { get; set; } 
    // [Display(Name = "Region Name:")] 
    public int RegionID { get; set; } 
    [Display(Name = "Region Name:")] 
    public virtual Region ReName { get; set; } 
    [Required] 
    public int DeliveryTimeId { get; set; } 
    [Display(Name = "Delivery Day(s):")] 
    public virtual DeliveryTime deliveryDay { get; set; } 
    public virtual IEnumerable<DeliveryTime> deliveryTime { get; set; } 
    public virtual IEnumerable<Region> region { get; set; } 
} 

public class Region 
{ 
    [Key] 
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public int RegionID { get; set; } 
    [Required] 
    [Display(Name = "Region Name:")] 
    public string ReName { get; set; } 
    public virtual IEnumerable<SubRegion> subRegion { get; set; } 
    } 

Это мой контроллер

public ActionResult Index(int? page) 
{  
    var tLCSubRegion = db.TLCSubRegion.Include(s => s.ReName).ToList(); 
    if (Request.HttpMethod != "GET") 
    { 
     page = 1; 
    } 
    int pageSize = 20; 
    int pageNumber = (page ?? 1); 
    return View(tLCSubRegion.ToPagedList(pageNumber, pageSize)); 
} 

Это моя страница Index.chtml

@model PagedList.IPagedList<WebVer5.Models.SubRegion> 
@foreach (var item in Model) 
{ 
    @Html.DisplayFor(modelItem => item.ReName.ReName) 
    @Html.DisplayFor(modelItem => item.deliveryDay.DeliveryDay) 
} 
+0

Ваш запрос имеет '.INCLUDE (s => s.ReName)', но не для 'deliveryDay' –

+0

Но мне нужно как переименовывать и deliveryDay – Rob

+0

Как добавить оба в один. Включить? – Rob

ответ

1

В настоящее время вы только Загрузка области. Изменение линии в контроллере действий по

var tLCSubRegion = db.TLCSubRegion.Include(s => s.ReName).Include(x => x.deliveryDay).ToList(); 

из

var tLCSubRegion = db.TLCSubRegion.Include(s => s.ReName).ToList(); 
+0

Благодарим за быстрый ответ. Когда я скомпилирую значение DeliveryDay, значение будет null. Почему? – Rob

+0

Когда я добавил var tLCSubRegion = db.TLCSubRegion.Include (s => s.ReName) .Include (x => x.deliveryDay.DeliveryDay) .ToList(); он говорит: {«Указанный путь Include недействителен. EntityType« IdentityS.Models.DeliveryTime »не объявляет свойство навигации с именем« DeliveryDay ».»} – Rob

+0

Удалите .DeliveryDay from.Include (x => x .deliveryDay.DeliveryDay) –

Смежные вопросы