我是否可以将代码优先属性与实体框架中实体的fluent-API配置结合使用?
谢谢。
可以。我通常更喜欢定义一些约束(例如,使用[Required]
来创建所需的属性,或者使用StringhLength(1, 10)
来定义字符串属性的长度):
[Required]
[StringLentgh(1,10)]
public string BookName {get;set;}
另一方面,我通常使用fluent api来定义关系(例如,一对多关系)
dbContext.Entity<Book>()
.HasRequired(b => b.Author)
.WithMany(a => a.Books)
.HasForeignKey(b => b.AuthorId)
然而,您可能更喜欢使用流利的API来实现模型中的约束。也就是说,你只能使用流利的API来做任何事情。然而,数据注释并没有那么全面。查看这些以获取更多信息:
https://stackoverflow.com/a/5356222/1845408
http://www.codeproject.com/Articles/476966/FluentplusAPIplusvsplusDataplusAnnotations-plusWor
http://www.codeproject.com/Articles/368164/EF-Data-Annotations-and-Code-Fluent