Я создал две модели, см. Ниже. Использовал каркас сущности объекта для создания контроллера и представлений.
На странице создания отзыва предоставляется возможность ввести отзыв int
.
В моем представлении Healthprofessional
, однако, я хотел бы отправить среднюю оценку каждому медицинскому работнику.
Я пробовал foreach
утверждение в healthprofessional представление бритвы, однако в каждом представлении в бритве можно ссылаться только на одну модель, что затрудняет мне это.
@foreach (var item in Model.HealthReviews)
{
// get error for this foreach when I try to apply
// as item.Rating does not contain
// a public definition for getenumerator
foreach (var rating in item.Rating)
{ }
}
Я думаю, что применение linq к контроллеру может быть ответом, но я потратил часы на этом этапе, пытаясь это сделать, и не слишком знаком с linq.
Любые предложения о том, как двигаться дальше с этой проблемой, я был бы очень признателен.
public enum Profession { Counsellor, Physio, Doctor }
public class HealthProfessional
{
public int ID { get; set; }
[Required]
[StringLength(50)]
[Display(Name = "Name")]
public string Name { get; set; }
public bool AcceptsMedicalCard { get; set; }
[Required]
[StringLength(80)]
[Display(Name = "Address")]
public string Address { get; set; }
[Required]
public Profession Profession { get; set; }
public ICollection<Review> HealthReviews { get; set; }
public ICollection<Client> Clients { get; set; }
}
public class Review
{
public int ID { get; set; }
public int? ClientID { get; set; }
public int? HealthProfessionalID { get; set; }
[Required]
[Range(0, 5, ErrorMessage = "Please select number between 1 and 5")]
public int Rating { get; set; }
[Required]
public string ReviewText { get; set; }
public bool WouldRecommend { get; set; }
public virtual Client Client { get; set; }
public HealthProfessional HealthProfessional { get; set; }
}