2013-10-30 88 views
0

這應該是一個簡單而直接的問題,需要專家解決,但我無法弄清楚。無法檢索元數據

下載VS 2012.在ASP.NET網站上運行「Contoso University Web Application」在線教程。這與MVC4和EF5一起工作。

當我在第1課的一部分,創建一個控制器,我得到了如下錯誤:

「無法檢索元數據‘ContosoUniversity.Models.Course’未找到方法:「太虛系統。 Data.Objects.ObjectsContextOptions.set_UserConsistentNullReferenceBehavior(Booleon)」。

基本上,我不能沒有得到這個錯誤產生任何控制器。我覺得我跟着下載過程中,正確的教程,但有某種錯誤的。

這裏是我直接使用的連接字符串N:

< 
add name="SchoolContext" 
connectionString="Data Source=(LocalDb)\v11.0; 
Initial Catalog=ContosoUniversity; 
Integrated Security=SSPI; 
AttachDBFilename=|DataDirectory|\ContosoUniversity.mdf" providerName="System.Data.SqlClient" 
/> 

該模型是這樣的:

namespace ContosoUniversity.Models 
{ 
    public class Course 
    { 
     [DatabaseGenerated(DatabaseGeneratedOption.None)] 
     public int CourseID { get; set; } 
     public string Title { get; set; } 
     public int Credits { get; set; } 

     public virtual ICollection<Enrollment> Enrollments { get; set; } 
    } 
} 

的SchoolContext是這樣的:

namespace ContosoUniversity.DAL 
{ 
    public class SchoolContext : DbContext 
    { 
     public DbSet<Student> Students { get; set; } 
     public DbSet<Enrollment> Enrollments { get; set; } 
     public DbSet<Course> Courses { get; set; } 

     protected override void OnModelCreating(DbModelBuilder modelBuilder) 
     { 
      modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); 
     } 
    } 
} 

回答

0

首先創建一個控制器,然後在web.config提供一個連接字符串

1

Plz將此部分添加到web.config文件中的entityFramework元素; MVC腳手架將使用這種類型來查找你的數據庫上下文。 如果您使用數據庫初始化程序將測試數據加載到您的數據庫,則必須按照以下方式添加。

<entityFramework> 
    <contexts> 
    <context type="ContosoUniversity.DAL.SchoolContext, ContosoUniversity"> 
     <databaseInitializer type="ContosoUniversity.DAL.SchoolInitializer, ContosoUniversity" /> 
    </context> 
    </contexts> 
<entityFramework>