我正在评估EF4并且有一个非常基本的问题......我想,我似乎无法找到答案..
采用以下示例:
public class Question
{
public string question {get;set;}
public string answer {get; set;}
}
public class Person
{
public string Id {get; set;}
public string Name {get; set;}
public List<Question> Questions {get; set;}
}
然后我在数据库中有以下表格
Person
(
id,
name
)
Question
(
id,
personId,
question,
answer,
)
我可以先使用EF4代码将Person类映射到两个表,还是首先重构我的POCO,所以问题类包含id和personId - 这不是我想做的事。 / p>
我可以在OnModelCreating中添加一些东西来映射类,因为我需要映射它吗?
谢谢!
答案 0 :(得分:0)
好的,这就是我现在所做的 - 但它需要我重新构建我的问题类......
public class Question
{
public int Id {get;set;} /* New */
public int PersonId {get;set;} /* New */
public string question {get;set;}
public string answer {get; set;}
public virtual Person PersonObj {get;set;}
}
public class Person
{
public string Id {get; set;}
public string Name {get; set;}
public List<Question> Questions {get; set;}
}
并在OnModelCreating事件中添加以下内容
modelBuilder.Entity<Person>().
HasMany(d => d.Questions).
WithRequired(c => c.Person).
HasForeignKey(c => c.PersonId).
WillCascadeOnDelete();
不确定它是完全正确的...但似乎现在正在运作。