我正在使用MSDN上的Building an MVC 3 App with Code First and Entity Framework 4.1教程,并且仍然坚持“另外 默认 ,这个数据库将是一个SQL Express数据库,名称来自上下文的强类型名称,其文件将位于SQL Express默认数据文件夹中。“
如果我想更改默认值(例如将MDF文件放在App_Data文件夹中),我该怎么做?我将有几个不同的上下文(每个主要功能区域一个),并希望它们都存在于同一个数据库中。
答案 0 :(得分:10)
使用web.config文件连接设置定义数据库所在的位置。 你只需要使Context Name =你的连接字符串名称,所以如果你的Context是MyContext你可以定义如下位置:
<connectionStrings>
<clear/>
<add name="MyContext"
connectionString="Server=myServer;Database=MyDB;Uid=foo;Password=XXX; "
providerName="System.Data.SqlClient"
/>
</connectionStrings>
答案 1 :(得分:0)
回答你的第二个问题......
“我将有几个不同的上下文(每个主要功能区域一个),并希望它们都存在于同一个数据库中。”
为什么不试试......
MyContext.cs
public partial class MyContext : DbContext
{
}
FooContext.cs
partial class MyContext
{
public DbSet<Foo> Foos { get; set; }
}
BarContext.cs
partial class MyContext
{
public DbSet<Bar> Bars { get; set; }
}
您最终会得到一个上下文和一个连接,但您的代码会分成多个文件。希望这就是你想要实现的目标。