实体框架:如何处理edmgen.exe的输出?

时间:2012-09-24 15:28:03

标签: entity-framework

我被迫使用旧的SQL Server 2000数据库来处理我正在编写的基于EF的应用程序。这些表已经存在,因此我需要生成Entities图层。我可以在VS2010中使用MySQL和最新版本的SQL Server,但不是2000.

为了解决这个问题,我按照一些教程解释了如何使用csl生成msdlssdledmgen.exe文件。

工作正常。我现在有这些文件在例如c:\temp

有人可以告诉我如何处理这些文件吗?我想要Entity Framework-ify我编写的一个简单的控制台应用程序。我可以以某种方式从这些文件创建一个'ADO.NET实体数据模型',所以如果我一直使用VS2010,我最终会得到什么?

由于

2 个答案:

答案 0 :(得分:2)

我得到了它,这就是我做的

1)使用edmgen.exe生成我的问题中提到的文件

"C:\windows\Microsoft.NET\Framework\v4.0.30319\edmgen.exe" /mode:fullgeneration /c:"Data Source=<your_server_here>; Initial Catalog=<your_catalog_here>; UID=<username>;PWD=<password>" /project:<vs2010_project_name> /entitycontainer:<project_name>Entities /namespace:<project_name>Model /language:CSharpEntityFramework

2)按照以下说明“如何:在实体设计器CTP2中使用现有的CSDL / MSL / SSDL文件” - 它实际上适用于VS2008,但它也适用于我。

http://blogs.msdn.com/b/dsimmons/archive/2007/12/07/how-to-use-your-existing-csdl-msl-ssdl-files-in-the-entity-designer-ctp2.aspx

3)我还有一个问题,那就是我的遗留数据库没有主键,所以我按照这些指令工作了

http://pratapreddypilaka.blogspot.in/2012/04/entity-framework-adding-datatable-with.html

答案 1 :(得分:0)

这些文件在EF's connection string中引用,EF在运行时使用它们来构建映射但它仍然无法工作,因为EF不支持SQL Server 2000(至少EF 4.0及更新版本)。 EF可以生成SQL Server 2000不支持的SQL,并且您将在运行时获得异常。