У меня есть вид списка, который заполняется с помощью этого контроллера:Список Заполнение с соответствующей информацией
public ActionResult ListClubMembershipType(int clubId)
{
//Populate the list
var types = from s in db.MembershipTypes
where (s.ClubId == clubId)
orderby s.Type
select s;
ViewBag.typesCount = types.Count();
var model = types.Select(t => new ListMembershipTypeViewModel
{
Type = t.Type,
ClubId = clubId,
Cost = t.Cost,
ReducedCost = t.ReducedCost,
MinAge = t.MinAge,
MaxAge = t.MaxAge,
});
return PartialView("_ListClubMembershipType", model);
}
Я также хотел бы, чтобы заполнить переменную в модели представления под названием ReducedDate с данными тянули из двух других таблиц, День & Месяц.
Ive пытался следующую строку:
ReducedDate = db.Days.Find(t.DayId).DayNum + "/" + db.Months.Find(t.MonthId).MonthName,
, но он дает следующее сообщение об ошибке:
Дополнительная информация: Метод 'GRCWebApp.Models.Day Найти (System.Object [])' объявленную от типа 'System.Data.Entity.DbSet1 [GRCWebApp.Models.Day]' не может быть вызван с экземпляром типа 'System.Data.Entity.Core.Objects.ObjectQuery1 [GRCWebApp.Models.Day]'
Что такое правильный способ ссылки на данные?
Модели являются:
MembershipType
public int MembershipTypeId { get; set; }
[StringLength(150)]
[Column(TypeName = "nvarchar")]
public String Type { get; set; }
[StringLength(350)]
[Column(TypeName = "nvarchar")]
public String Description { get; set; }
[Column(TypeName = "int")]
public int ClubId { get; set; }
[Column(TypeName = "decimal")]
public Decimal Cost { get; set; }
[Column(TypeName = "decimal")]
public Decimal ReducedCost { get; set; }
[Column(TypeName = "int")]
public int? DayId { get; set; }
[Column(TypeName = "int")]
public int? MonthId { get; set; }
[Column(TypeName = "int")]
public int MinAge { get; set; }
[Column(TypeName = "int")]
public int MaxAge { get; set; }
[Column(TypeName = "bit")]
public bool? Dormant { get; set; }
}
The Day Model:
public class Day
{
public int DayId { get; set; }
[Column(TypeName = "int")]
public int DayNum { get; set; }
public virtual ICollection<MembershipType> MembershipTypes { get; set; }
}
Месяц Модель:
public class Month
{
public int MonthId { get; set; }
[Column(TypeName = "nvarchar")]
public String MonthName { get; set; }
public virtual ICollection<MembershipType> MembershipTypes { get; set; }
}
И ViewModel является:
public class ListMembershipTypeViewModel
{
[Display(Name = "Type")]
public String Type { get; set; }
public int ClubId { get; set; }
[Display(Name = "Full Cost")]
public Decimal Cost { get; set; }
[Display(Name = "Reduced Cost")]
public Decimal ReducedCost { get; set; }
[Display(Name = "Reduced From")]
public string ReducedDate { get; set; }
[Display(Name = "Min Age")]
public int MinAge { get; set; }
[Display(Name = "Max Age")]
public int MaxAge { get; set; }
}
Пятно на большое спасибо –