ADO.NET實體框架和ASP.MVC的組合是否有任何錯誤?

asp.net-mvc c# entity-framework

我有三個項目的解決方案。

  1. DomainModel(帶有ADO.NET實體框架的C#庫)
  2. DomainModelTest(業務邏輯的單元測試)
  3. WebApp(使用DomainModel)

出於某種原因,如果我傳遞DomainModel中的任何對象,我甚至無法帶來視圖,甚至不是簡單的。我收到以下錯誤:

有任何想法嗎?

編譯器錯誤消息:CS0012:類型'System.Data.Objects.DataClasses.EntityObject'在未引用的程序集中定義。您必須添加對程序集'System.Data.Entity,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的引用。

來源錯誤:

第146行:第147行:
[System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()]第148行:公共類views_home_index_aspx:System.Web.Mvc.ViewPage,System.Web.SessionState.IRequiresSessionState,System.Web.IHttpHandler {第149行:
第150行:私人靜態布爾@__初始化;

我認為這可能會有所幫助,實際錯誤出現在下面指向的行中的Default.aspx文件中:

public partial class _Default : Page
{
    public void Page_Load(object sender, System.EventArgs e)
    {
        // Change the current path so that the Routing handler can correctly interpret
        // the request, then restore the original path so that the OutputCache module
        // can correctly process the response (if caching is enabled).

        string originalPath = Request.Path;
        HttpContext.Current.RewritePath(Request.ApplicationPath, false);
        IHttpHandler httpHandler = new MvcHttpHandler();
        httpHandler.ProcessRequest(HttpContext.Current); //**HERE**
        HttpContext.Current.RewritePath(originalPath, false);
    }
}

一般承認的答案

嘗試在<assemblies>部分的web.config中添加引用。


熱門答案

在web.config中添加此項

<configuration>
  <system.web>
    <compilation>
      <assemblies>
        <add assembly="System.Data.Entity, Version=3.5.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089"/>
      </assemblies>
    </compilation>
  </system.web>
</configuration>


Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因