我创建了一个包含外键的表的MSSQL数据库。然后我创建了一个新的MVC 4 Web应用程序。我使用Entity Framework生成我的控制器/模型/视图。在模型中,使用外键链接的表显示为ICollections。例如:
public partial class Test
{
public Test()
{
this.Questions = new HashSet<Question>();
this.Users = new HashSet<User>();
}
public int testId { get; set; }
public string name { get; set; }
public string description { get; set; }
public Nullable<int> pointValue { get; set; }
public Nullable<int> numberOfQuestions { get; set; }
public virtual ICollection<Question> Questions { get; set; }
public virtual ICollection<User> Users { get; set; }
}
}
我的问题是如何在视图中访问存储在这些ICollections中的数据? Test.Questions [x]&lt; - 给出错误。
答案 0 :(得分:0)
ICollection<T>
就像IList<T>
或T[]
一样,因此您必须首先获取集合中的元素,然后引用其属性。 e.g。
Test test = testService.Get(1);
Question question = test.Questions.FirstOrDefault(); // using System.Linq;
if (question.quertionType == ....)
{
}
答案 1 :(得分:0)
这比我预期的要简单。我只需要使用foreach循环:
@foreach (var question in item.Questions)
{
<td>@question.question1</td>
}