AppHarbor に ASP.NET MVC4 + Entity Framework + SQL Server で DB 接続させてみた

前回はDB接続できなかったので、できるようにしてみた。 http://mvc4sample.apphb.com/Home/Dbmanipulateソースは Github においてます。 https://github.com/nnasaki/tryAppHarbor.git DB の接続方法は思ったより簡単だった Add-ons から SQL Server をインストールする Automatic migrations with Entity Framework 4.3を参考に進める github に Push する 以上だけど、MVC4 を使っていると2番目がなかなかうまくいかなかった。 MVC4 を使用すると EntityFramework が新しいのが入ってしまい、「install-package EntityFramework -ProjectName Core」をしてインストールしたものとバージョンが不一致となってしまいエラーとなった。解決策としては、「Core」側の EntityFramework の参照先を「Web」と一致させることで解決した。 この例はDB層をWebプロジェクトから分離できるので割と良いサンプルだと思う。「Core」という名前がいけてないので、「Repository」とかにするとそれっぽくなるんじゃなかろうか。また、Alias を使用することで Connection String にパスワードを埋め込まないで済むのが良い。 実はまだ問題が残っていて右上の Resister と Login が使用できていない。これは .Net のメンバーシップというセキュリティの機能を使用しているんだけど、ローカルでは動いているのに、サーバー側で動いていないという状況。 たぶん、EntityFramework の Migration で DB を Drop しようとして失敗していると思うんだけど、後日調査する。

July 24, 2012 · nnasaki