2 つのデータベースを持つことを避けるために、メンバーシップのために自動的に作成される ASPNETDB.MDF にエンティティをマップしました。エンティティを既存のデータベースにマップするために、この記事に従っていました: http://weblogs.asp.net/scottgu/archive/2010/08/03/using-ef-code-first-with-an-existing-database .aspx 私が理解していることから、変更する必要があるのは、次のようなコンテキスト クラスのデータベースの名前だけです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using UniversityApp.Models;
using System.Data.Entity.ModelConfiguration.Conventions;
namespace UniversityApp.DAL
{
public class ASPNETDB : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Review> Reviews { get; set; }
public DbSet<Movie> Movies { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
}
また、接続文字列を次のように変更しました。
<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
<add name="MovieContext" connectionString="Data Source=|DataDirectory|aspnetdb.mdf" providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>
すべてが正常に動作しているようです (古いデータベースへのメソッド、データベースへの読み取りと書き込み、初期化データも)。しかし、ASPNETDB.mdf への接続を開くと、テーブルが表示されません。私は何を間違っていますか?