实体框架 - 如何创建复杂属性的数组?

时间:2010-10-26 05:02:39

标签: .net entity-framework

在Entity Framework v1中,我可以创建一个复杂属性数组吗?

假设我有一个“问题”实体可以有一个“答案”数组(由文字和时间戳组成)吗?

1 个答案:

答案 0 :(得分:1)

您不需要一个属性数组,只需一个简单的导航一对多属性就足够了。您的Question实体将拥有Answer个实体的集合。

同时,在数据库级别,您的Answer(s)表应该有一个外键QuestionId将其连接到Question(s)表。

如果要从数据库生成模型,并且正确设置了外键,则应为EF为您生成导航属性。但是它可能没有正确命名(AnswerSet或smth),但您可以自己将其重命名为Answers。稍后,您可以通过Question对象访问答案,例如:

var question = context.Questions.Include("Answers").FirstOrDefault(q => q.Id == 1);
bool hasAnswers = question.Answers.Any();