fre*_*hie 61 c# linq asp.net entity-framework linq-to-sql
我有一个使用LINQ to SQL构建的Web应用程序,我希望将其升级到LINQ to Entity Framework.我已经看了一些教程,我学到的是基本上在数据库优先的场景中,你创建了一个ADO.NET实体数据模型.从那里,您可以选择要包含在模型中的表(非常类似于LINQ to SQL).
在Add New Item对话框中,我看到有另一个选项可以创建EF 6.x DbContext Generator:
与ADO.NET实体数据模型(对话框中的第一个选项)相比,EF 6.x DbContext Generator的用途是什么?而且,什么是EF 6.x DbContext Generator?它似乎创建了一个文本文件.我该怎么办?
Wil*_*ith 16
DbContext Generator用更简单和更短的代码替换ObjectContext,以将Entity对象连接到数据库对象.具有30个字段的单个数据库表由作为ObjectContext的大约800行代码表示,但是作为由DbContextGenerator生成的DbContext和类大约40行易于理解的代码.
DbContext Generator创建两个文件 -
使用连接字符串详细信息和每个表的DbSet创建DbContext.
创建表示每个表的类.如果打开这些.tt文件夹,您将看到生成的DbContext和类.您不需要对这些类执行任何操作 - 您可以在Controller操作中引用它们.
有关演练,请访问http://msdn.microsoft.com/en-US/data/jj206878
brd*_*uca 12
如果您已经有了数据库,那么第一个选项会更好,因为该方法与您在LinqToSQL中使用的方法非常相似..EDMX文件还可以为您提供数据库的图形可视化,您不必担心其他任何问题.
有两种方法可以做DB First,一种涉及EDMX文件,另一种涉及逆向工程以编写第一个POCO.
如果有EDMX文件,则安装用于生成实体的生成器,并且有多个选项.一个是DbContext,另一个是EntityObject生成器,它基于ObjectContext生成对象.