我的mvc模型中有以下类,我使用的是EF
public class Patient
{
[Key()]
public int PatientId { get; set; }
public string Name { get; set; }
}
public class Treatment
{
[Key()]
public int Id { get; set; }
[ForeignKey("Patient")]
public int PatientId { get; set; }
public Patient Patient { get; set; }
[DataType(DataType.DateTime)]
public DateTime TreatmentDate { get; set; }
}
我想显示病人的名字和他们接受治疗的数量。
我能想到的两个解决方案,但寻找更优雅的东西:
谢谢!
发布于 2013-03-17 01:02:14
最后我找到了答案--它是如此简单!
db.Patients.Include("Treatments").ToList()
然后在我看来我只是
@Html.DisplayFor(modelItem => item.Treatments.Count)
发布于 2013-03-15 07:55:58
public class Patient
{
[Key()]
public int PatientId { get; set; }
public string Name { get; set; }
public ICollection<Treatment> Treatments
}
在你看来;
@foreach(var item in Model)
{
<h1>@item.Name</h1>
<h2>@item.Treatment.TreatmentDate
}
在你的询问中;
db.EntityName.Select(p=> new Treatment()
{
PatientId = p.PatientId,
.....
...
Treatments = p.Treatments
});
发布于 2013-03-17 00:26:03
您应该在视图中使用ViewModel。我认为这是更好的practice.Here,你可以读到它:What is ViewModel in MVC?。最基本的是,它是一个简单的类,只包含视图所需的这些属性。我不太理解你的模型,但我会这样做
public class Patient
{
public int Id { get; set; }// if it's Id it's default Primery Key
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Treatment
{
public int Id { get; set; }// if it's Id it's default Primery Key
public Patient IdPatient { get; set; } // Your Foreign key
[DataType(DataType.DateTime)]
public DateTime TreatmentDate { get; set; }
}
这样,一个病人可能有一个以上的TreatmentDate。我不仅仅是职业爱好者。祝好运。
https://stackoverflow.com/questions/15436634
复制