Entity Framework 4 & 4.1
Entity Framework 4.1 Code First学习之路(二)
QA1:
布署EF 4.1时遇到此问题:
未能加载文件或程序集“Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。拒绝访问。
1.检查一下Web.Config中是否缺少
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</assemblies>
</compilation>
2.这时问题应该解决了一半,还会报一个错“用户 'IIS APPPOOL\ASP.NET v4.0' 登录失败。 ”
在iis管理器中——》应用程序池——》ASP.NET V4.0————》高级设置——》标识——》改为localSystem或者NetworkService。
3.如果还有问题,请参照“IIS APPPOOL\RwindRhine登录失败的解决方案”
QA2:
EF4.1 报错:Unable to load the specified metadata resource
是因为以下数据配置有问题
<add name="DecisionAuthContext" connectionString="metadata=res://*/DecisionAuthModel.DecisionAuth.csdl|res://*/DecisionAuthModel.DecisionAuth.ssdl|res://*/DecisionAuthModel.DecisionAuth.msl;provider=System.Data.SqlClient;provider connection string="data source=10.1.249.38;initial catalog=ProjectDecision;persist security info=True;user id=mqpan;password=123456;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
4.“Unable to update the EntitySet XXXXXX because it has a DefiningQuery and no element exists in the element to support the current operation.” is one of the errors you will eventually run into with the ADO.NET Entity Framework 1.0.
A Probable Cause
If a table doesn’t have a primary key defined, this error will occur when you’re trying to delete an object. The generated EDMX file should also generate a warning:
Warning 6002: The table/view ‘TABLENAME’ does not have a primary key defined. The key has been inferred and the definition was created as a read-only table/view.
A solution to this problem is simply adding a primary key to the table and update your EDMX model.