关于Fluent API的教程有很多,但它们都是使用Entity Framework Code-First代码示例来解释的。由于我不了解Code-First,您是否知道任何使用EF Database-First方法解释该主题的Fluent API教程?
谢谢
关于Fluent API的教程有很多,但它们都是使用Entity Framework Code-First代码示例来解释的。由于我不了解Code-First,您是否知道任何使用EF Database-First方法解释该主题的Fluent API教程?
谢谢
生成的连接字符串包含一个部分,引用将嵌入到程序集中的EDMX元数据:
connectionString="metadata=res://*/Model.csdl
|res://*/Model.ssdl
|res://*/Model.msl;
..."
生成的上下文DbContext
将拥有一个覆盖的OnModelCreating
方法,它只会抛出一个异常:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
只要在连接字符串中保留元数据部分,EF就不会在此方法中调用OnModelCreating或Fluent API中的任何代码。元数据部分告诉EF你的模型是基于数据库或模型,元数据定义在嵌入式EDMX文件中而不是Fluent API中。有一篇有趣的文章介绍了如何在不使用实际“数据库优先”方法的情况下实现某些“数据库优先”目标。
http://agilenet.wordpress.com/2011/04/11/entity-framework-4-1-rc-with-an-existing-database/
作者使用“Code-First”和“Fluent API”,但禁用了数据库和表的自动生成和填充。他分享了一个示例,展示了“如何创建实体模型,然后手动创建数据库,再将这些实体映射到数据库。最后展示了使用DatabaseContext保存和检索实体”的过程。这个由6部分组成的Database First教程系列包括一些流畅API示例: