实体框架代码优先属性与fluent api配置相结合



我是否可以将代码优先属性与实体框架中实体的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

相关内容

  • 没有找到相关文章

最新更新