在AppHarbor中使用Entity Framework Code First
目前在AppHarbor中使用Entity Framework Code First的默认设置会出现一些问题,因为EF默认会执行DropCreateDb,而AppHarbor咩有给我们Drop的权限。
目前AppHarbor提供的解决办法是使用这个Nuget package。
然而使用这个package也有个个问题就是这个package里虽然没有明说,但实际上不支持目前最新的EF 4.3.1,因为最新的EF提供的Migrations功能已经和以前不同,已经不会有什么EdmMetadata之类的表。总之解决方案就是老老实实的使用EF 4.1.*
而且这个package还小题大做的用到了WebActivator,个人感觉只要在Application_Start里加代码就好了吧- -
虽然各种不爽总之是能跑起来了-v-
顺便要吐槽的是AppHarbor的文档真是orz啊,比如说了写什么connection string alias在EF code first中用不了啊神马的,实际上是可以的,但是想要加上"MultipleActiveResultSets=True;"的话大概还是要写一些代码的,参考文档吧,我还没试。