<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>AppHarbor on nnasaki のブログ</title>
    <link>https://blog.nnasaki.com/categories/appharbor/</link>
    <description>Recent content in AppHarbor on nnasaki のブログ</description>
    <image>
      <title>nnasaki のブログ</title>
      <url>https://blog.nnasaki.com/ogp.png</url>
      <link>https://blog.nnasaki.com/ogp.png</link>
    </image>
    <generator>Hugo</generator>
    <language>ja-JP</language>
    <lastBuildDate>Tue, 24 Jul 2012 01:12:05 +0900</lastBuildDate>
    <atom:link href="https://blog.nnasaki.com/categories/appharbor/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>AppHarbor に ASP.NET MVC4 &#43; Entity Framework &#43; SQL Server で DB 接続させてみた</title>
      <link>https://blog.nnasaki.com/entry/2012/07/24/011205/</link>
      <pubDate>Tue, 24 Jul 2012 01:12:05 +0900</pubDate>
      <guid>https://blog.nnasaki.com/entry/2012/07/24/011205/</guid>
      <description>&lt;p&gt;前回はDB接続できなかったので、できるようにしてみた。  &lt;a href=&#34;http://mvc4sample.apphb.com/Home/Dbmanipulate&#34;&gt;http://mvc4sample.apphb.com/Home/Dbmanipulate&lt;/a&gt;ソースは Github においてます。  &lt;a href=&#34;https://github.com/nnasaki/tryAppHarbor.git&#34;&gt;https://github.com/nnasaki/tryAppHarbor.git&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;DB の接続方法は思ったより簡単だった&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add-ons から &lt;a href=&#34;http://d.hatena.ne.jp/keyword/SQL%20Server&#34;&gt;SQL Server&lt;/a&gt; をインストールする&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.appharbor.com/2012/04/24/automatic-migrations-with-entity-framework-4-3&#34;&gt;Automatic migrations with Entity Framework 4.3&lt;/a&gt;を参考に進める&lt;/li&gt;
&lt;li&gt;github に Push する&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;以上だけど、MVC4 を使っていると2番目がなかなかうまくいかなかった。&lt;/p&gt;
&lt;p&gt;MVC4 を使用すると EntityFramework が新しいのが入ってしまい、「install-package EntityFramework -ProjectName Core」をしてインストールしたものとバージョンが不一致となってしまいエラーとなった。解決策としては、「Core」側の EntityFramework の参照先を「Web」と一致させることで解決した。&lt;/p&gt;
&lt;p&gt;この例はDB層をWebプロジェクトから分離できるので割と良いサンプルだと思う。「Core」という名前がいけてないので、「Repository」とかにするとそれっぽくなるんじゃなかろうか。また、Alias を使用することで Connection String にパスワードを埋め込まないで済むのが良い。&lt;/p&gt;
&lt;p&gt;実はまだ問題が残っていて右上の Resister と Login が使用できていない。これは&lt;a href=&#34;http://d.hatena.ne.jp/keyword/%20.Net&#34;&gt; .Net&lt;/a&gt; のメンバーシップというセキュリティの機能を使用しているんだけど、ローカルでは動いているのに、サーバー側で動いていないという状況。&lt;/p&gt;
&lt;p&gt;たぶん、EntityFramework の Migration で DB を Drop しようとして失敗していると思うんだけど、後日調査する。&lt;/p&gt;
&lt;hr&gt;</description>
    </item>
  </channel>
</rss>
