我是EF新学员,我有一些问题要问:
1 我不明白虚拟意味着什么,例如一对多,我举一个例子: 一个问题可以有很多选择,例如。
public class Question
{
public int QuestionId { get; set; }
public string Title { get; set; }
public virtual List<Option> Options { get; set; }
}
public class Option
{
public int OptionId { get; set; }
public string OptionText { get; set; }
public virtual Question Question { get; set; }
}
但“2”虚拟意味着什么,因为如果我删除此行中的virtual
:
public virtual List<Option> Options { get; set; }
,我没有发现任何差异,它适用于一对多,所以你能非常清楚地解释我2 virtual
意味着什么,如果它覆盖,覆盖什么?
2 我不知道何时应该使用API流利,例如前一个到多个前。没有api流利,它仍然是一对多的关系,所以请告诉我什么时候应该使用它?例如,在哪些场合。
第3 在API流利,我知道“withmany”和“hasmany”在一起,他们的意思是“多对多”,什么是“withrequired?isoptional?”
答案 0 :(得分:0)
我想我可以回答以下几点:
有关详细信息,请参阅以下链接
Entity Framework 4.1 Virtual Properties
2.何时使用流畅的API
使用Code First时,您可以通过定义域CLR类来定义模型。默认情况下,实体框架使用Code First约定将类映射到数据库模式。如果使用Code First命名约定,在大多数情况下,您可以依赖Code First根据您在类上定义的外键和导航属性来设置表之间的关系。如果在定义类时不遵循约定,或者如果要更改约定的工作方式,则可以使用流畅的API或数据注释来配置类,以便Code First可以映射表之间的关系。
http://msdn.microsoft.com/en-us/data/jj591620.aspx
3.参见以下链接,了解什么是.WithRequired和.WithOptional选项