我正在学习ASP.NET MVC。为了创建PK和FK,我在.cs文件的模型中添加了一些代码,如下所示
public class Courses
{
public int CourseID { get; set; }
[Key]
public string CourseName { get; set; }
public string Description { get; set; }
public int Duration { get; set; }
public virtual ICollection<Instructors> Instructors { get; set; }
}
public class Instructors
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string CourseName { get; set; }
[ForeignKey("CourseName")]
public virtual Courses Courses { get; set; }
}
那么我的问题是Fluent API的意义是什么。我已经使用模型中的以上代码成功创建了PK和FK。那么Fluent API是什么,为什么需要它?
实体框架Fluent Api是使用实体框架“代码优先”方法定义数据库架构的另一种方法。您在问题中使用的语法使用数据注释,这是另一种常见方法。
FluentApi的主要优点是,您不必具有对模型类的实际访问即可装饰它们。例如,当您的模型位于单独的装配体中时,用注释来修饰它们是根本不可能的。另一方面,通过使用EF FluentAPI,您可以轻松地执行以下操作:
modelBuilder.Entity<Courses>().HasKey(c => c.CourseID);
最重要的是,两种方法都生成完全相同的数据库模式。因此,如果您更喜欢使用数据注释并且您的项目结构允许使用它,则可以毫无疑问地使用它。在那些无法使用数据注释方法而仍要使用Code First方法的情况下,FluentApi是正确的查看方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句