通过System.Diagnostics.Process生成EF模型

时间:2010-03-16 21:41:00

标签: c# .net entity-framework code-generation edmgen

阅读this文章后,我尝试通过System.Diagnostics.Process生成EF模型:

Process myProcess = new Process();
    var cs = "Data Source=.\\SQLEXPRESS; Initial Catalog=uqs; Integrated Security=SSPI";
    myProcess.StartInfo.FileName = @"C:\Windows\Microsoft.NET\Framework\v3.5\EdmGen.exe";
    myProcess.StartInfo.Arguments = "/mode:fullgeneration /c:"+cs+" project:School /entitycontainer:SchoolEntities /namespace:SchoolModel /language:CSharp ";
    myProcess.Start();

但我没有得到结果,因为我无法做好格式参数字符串。我试过,有很多引用。如何组织参数字符串?

2 个答案:

答案 0 :(得分:1)

第1点:我认为连接字符串周围至少需要一些引号:

    myProcess.StartInfo.Arguments = "/mode:fullgeneration \"/c:"+cs+"\" project:School ...";

但请检查调试器中生成的Arguments字符串,看看是否一切正常。

对于第2点,请参阅this SO question

答案 1 :(得分:1)

您只需在连接字符串周围添加双引号。

var cs = @"""Data Sour[...]rity=SSPI""";

请注意每端的三个双引号和at。