在Entity Framework v1中,我可以创建一个复杂属性数组吗?
假设我有一个“问题”实体可以有一个“答案”数组(由文字和时间戳组成)吗?
答案 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();