これは、専門家が解決する単純で簡単な問題のはずですが、私はこれを理解することができません.
VS 2012 をダウンロードしました。ASP.NET Web サイトの「Contoso University Web Application」オンライン チュートリアルを実行します。これは、MVC4 および EF5 で動作しています。
レッスン 1 のコントローラを作成する部分に到達すると、次のエラーが表示されます。
「'ContosoUniversity.Models.Course' のメタデータを取得できません。メソッドが見つかりません: 'Void System.Data.Objects.ObjectsContextOptions.set_UserConsistentNullReferenceBehavior(Booleon)'.
基本的に、このエラーが発生しないとコントローラーを作成できません。ダウンロードプロセスとチュートリアルを正しく実行したように感じました. しかし、ある種のバグがあります。
レッスンからそのまま使用している接続文字列は次のとおりです。
<
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>();
}
}
}