刚刚接触EF,有人遇到过这个问题吗:
“如果在 Code First 模式下使用,则使用 T4 模板为 Database First 和 Model First 开发生成的代码可能无法正常运行。若要继续使用 Database First 或 Model First,请确保在执行应用程序的 config 文件中指定 Entity Framework 连接字符串。若要将这些从 Database First 或 Model First 生成的类用于 Code First,请使用特性或 DbModelBuilder API 添加任何其他配置,然后移除引发此异常的代码。”
报错:
详细信息:
帖一下你的connectionstring和web.config
web.config里的链接字符串最好和app.config里相同,因为ef的链接字符串需要一些特殊的参数
否则就会出现你的这个异常
http://www.cnblogs.com/yyjj/p/3471728.html
web.config内容如下(connectionstring也在web.config里面,在“<!--数据库连接字符串-->”下面):
<?xml version="1.0"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<!--
有关 .NET 4.5 的 web.config 更改的说明,请参见 http://go.microsoft.com/fwlink/?LinkId=235367。
可在 <httpRuntime> 标记上设置以下特性。
<system.Web>
<httpRuntime targetFramework="4.5" />
</system.Web>
-->
<system.web>
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</assemblies>
</compilation>
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880"/>
</authentication>
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/>
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
</providers>
</profile>
<roleManager enabled="false">
<providers>
<clear/>
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/"/>
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/"/>
</providers>
</roleManager>
<pages controlRenderingCompatibilityVersion="4.0"/>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
<!--数据库连接字符串-->
<connectionStrings>
<add name="WorkFlowTestEntities" connectionString="metadata=res://*/WorkFlowTest.csdl|res://*/WorkFlowTest.ssdl|res://*/WorkFlowTest.msl;provider=System.Data.SqlClient;provider connection string="Data Source=192.168.24.233;Initial Catalog=WorkFlowTest;Persist Security Info=True;User ID=sa;Password=123456;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient"/>
<add name="WorkflowDBContainer" connectionString="metadata=res://*/Entities.WorkflowDB.csdl|res://*/Entities.WorkflowDB.ssdl|res://*/Entities.WorkflowDB.msl;provider=System.Data.SqlClient;provider connection string="data source=192.168.24.233;initial catalog=WorkflowDB;persist security info=True;user id=sa;password=123456;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient"/>
<add name="WorkFlowDbTestContainer" connectionString="metadata=res://*/WorkFlowDbTest.csdl|res://*/WorkFlowDbTest.ssdl|res://*/WorkFlowDbTest.msl;provider=System.Data.SqlClient;provider connection string="data source=192.168.24.233;initial catalog=WorkflowDB;persist security info=True;user id=sa;password=123456;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
<add name="WorkFlowWzpContainer" connectionString="metadata=res://*/WorkFlowWzp.csdl|res://*/WorkFlowWzp.ssdl|res://*/WorkFlowWzp.msl;provider=System.Data.SqlClient;provider connection string="data source=192.168.24.233;initial catalog=WorkFlowTestWzp;persist security info=True;user id=sa;password=123456;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
不好意思我还是不太明白,web.config和app.config分别是web应用程序和winform应用程序里的吧,怎么能在一起呢?