@IT ASP.NET MVC入門【バージョン3対応】
ところがModelからデータベースを作成するところで、以下のようなエラーが出てしまいつまづいてしまいました。
Model compatibility cannot be checked because the database does not contain model metadata. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions.記事の中で
なお、本稿ではSQL Server Compact 4.0を前提としているので、プロバイダ名は「System.Data.SqlServerCe.4.0」としているが、従来のSQL Serverに接続するならば、「System.Data.SqlClient」とすればよい。とあったので、
<connectionStrings> <add name="MyMvcContext" connectionString="Data Source={servername}; Initial Catalog={dbname}; Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings>
web.configの記述を上記のようにしたのですが、
この時にデータベース名(上記{dbname}の部分)に
既存のデータベースを指定したのが問題だったようです。
未作成のデータベースを指定することで、解決致しました。
ただし、完全にCodeFirstでデータベースを作成できる場合は良いのですが、
別口からデータベースを操作したり、既存のデータベースとの連携だったり
下記[参考]にあるようにMembership Providerとの連携だったりを考えた場合に
ちゃんと動くのか心配です。
自分はまだ学習段階なのでおいおい解決することを期待・・・。
[参考]
EF 4.1 Code First and Existing Database and .NET Membership
mvc3 code-first error on sqlexpress
0 件のコメント:
コメントを投稿