2009-10-01 13 views
15

Üç projeyle ilgili bir çözümüm var.ADO.NET Entity Framework ve ASP.MVC birleşimi herhangi bir şansa sahip değil mi?

  1. DomainModel (ADO.NET Entity Framework ile C# Kütüphane)
  2. DomainModelTest (Birim Test for Business Mantık)
  3. WebApp (DomainModel Kullanarak)

Nedense, ben bile getiremem DomainModel'deki herhangi bir nesneyi iletirseniz, basit değil. Aşağıdaki hatayı alıyorum:

Herhangi bir fikir var mı?

Compiler Error Message: CS0012: The type 'System.Data.Objects.DataClasses.EntityObject' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

Source Error:

Line 146: Line 147:
[System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()] Line 148: public class views_home_index_aspx : System.Web.Mvc.ViewPage, System.Web.SessionState.IRequiresSessionState, System.Web.IHttpHandler { Line 149:
Line 150: private static bool @__initialized;

bu yararlı olabileceğini düşündüm

, gerçek hata hattında default.aspx dosyasını çıkageldi aşağıda çekti:

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); 
    } 
} 
+0

Web projenize System.Data.Entity başvurusunu eklediniz mi? – JasonTrue

+0

@ Jason. Evet yaptım. Onu kaldırdım, yeniden ekledim, hatta sürümü kontrol et, ayrıca ev kontrolcüsündeki ifadeleri kullanmayı denedim. Görüşlerim olduğunu bile düşündüm, bu yüzden onları silip yeniden oluşturun. Ado.net enti fram tarafından yaratılan Nesneleri referans göstermediklerinde, kullanıcılar veya herhangi bir nesne denediğimde derleme hatası oluşur. Teşekkürler. – Geo

+0

İşte derleme sorunu çözüldü nasıl cevap buldu [http://stackoverflow.com/a/5129828/305197][1] [1]: http://stackoverflow.com/ a/5129828/305197 –

cevap

27

deneyin içinde, web.config referans ekleyerek < derlemeler> bölüm. web.config içinde

+0

Teşekkürler !!!! Bu konuda sadece 1,5 saat geçirdim. Bu bilinen bir hata mı? Yine de teşekkürler. – Geo

+1

Bunun bir hata olduğunu düşünmüyorum ... Referansın projeye dahil edilmesi ilk adımdır. Bir denetleyicide kullanmak istiyorsanız, bir 'kullanma' ifadesine sahip olmalısınız, eğer bir görünümde kullanmak istiyorsanız, web.config içinde olmalı ya da görünüm işaretlemesinde belirsiz bir şekilde içe aktarılmalıdır. Birkaç kez başımı çarptım, ama şimdi dersimi öğrendim :) –

+1

@AJ, Ben bunun bir hata olduğunu düşünüyorum. Normalde bir web uygulamasına referans eklediğimde, sadece bir kez eklemem gerekir. – ProfK

15

Ekle Bu

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

Ayrıca web projesi için boş ADO.NET Entity Data Model ekleyin ve sonra silebilirsiniz. Sizin için gerekli referansları ekleyecektir.