【发布时间】:2011-06-01 03:52:02
【问题描述】:
从我读过的所有内容来看,EntityFramework 应该是蜜蜂的膝盖,您可以使用 CodeFirst 从 POCO 生成实体。惊人的!我已经做到了,我让 EntityFramework 默认行为来做它的事情,现在我被困在墙上了。
我读过的关于 EntityFramework 和 MVC3 应用程序的所有内容,您只需更改 web.config 中的 DBContext 连接字符串,它应该会自动感知、清理缓存并重新生成的元数据,以及调用默认种子或该上下文的自定义种子方法。我不敢苟同。
我有一个非常简单的数据库上下文类:
namespace AwesomeApp.Models
{
public class MyContext : DbContext
{
public DbSet<Sneeze> Sneeze { get; set; }
}
}
在花了几个 sprint 准备好模型、使用控制器和视图之后,我已经准备好使用 SQLServer Express 2008 迁移到暂存环境。所以我问谷歌先生如何做到这一点,它公然在此博客文章中指出,您将连接字符串设置为实体上下文作为名称,其他一切都应该到位。
<connectionStrings>
<add name="MyContext"
connectionString="Server=server;Database=awesome_sauce;User ID=noob;Password=noob;Trusted_Connection=False;"
providerName="System.Data.SqlClient"/>
我称之为恶作剧,因为它没有在我列出的数据库中创建表,并且仍在访问默认数据库。这给我留下了 2 个问题,我很肯定这源于我的无知
- Entity Framework 默认调用的 SQL Server Express(或者是 CE)的默认数据库位于何处?
- 更新连接时,程序员是否需要更多的交互才能获得交换 DB 的行为?
【问题讨论】:
标签: database entity-framework-4.1