我将添加我必须做的事情,因为它是上述内容的合并。我使用的是 Code First,尝试使用“create-database”,但标题中出现错误。关闭并重新打开(这次作为管理员) - 命令无法识别,但使用了“更新数据库”。同样的错误。
以下是我为解决它而采取的步骤:
1) 打开 SQL Server Management Studio 并创建数据库“视频”
2) 在 VS2013 中打开服务器资源管理器(在“查看”下)并连接到数据库。
3)右键单击连接 - >属性,并抓住连接字符串。
4)在 web.config 我添加了连接字符串
<connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=MyMachine;Initial Catalog=Videos;Integrated Security=True" providerName="System.Data.SqlClient"
/>
</connectionStrings>
5)在我设置上下文的地方,我需要引用DefaultConnection:
using System.Data.Entity;
namespace Videos.Models
{
public class VideoDb : DbContext
{
public VideoDb()
: base("name=DefaultConnection")
{
}
public DbSet<Video> Videos { get; set; }
}
}
6) 在包管理器控制台中运行“更新数据库”以创建表。
请记住,您可以在 Configuration.cs 中创建时使用 Seed() 插入值:
protected override void Seed(Videos.Models.VideoDb context)
{
context.Videos.AddOrUpdate(v => v.Title,
new Video() { Title = "MyTitle1", Length = 150 },
new Video() { Title = "MyTitle2", Length = 270 }
);
context.SaveChanges();
}