我只是按照说明运行程序。请参阅以下说明:
Code First Migrations instruction
Mode.cs
中的内容:
using System.Data.Entity;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity.Infrastructure;
namespace MigrationsDemo
{
public class BlogContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
}
public class Blog
{
public int BlogId { get; set; }
public string Name { get; set; }
}
}
Program.cs
中的内容:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MigrationsDemo
{
class Program
{
static void Main(string[] args)
{
using (var db = new BlogContext())
{
db.Blogs.Add(new Blog { Name = "Another Blog " });
db.SaveChanges();
foreach (var blog in db.Blogs)
{
Console.WriteLine(blog.Name);
}
}
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
}
说明现在运行该程序,我将看到为您创建了一个MigrationsCodeDemo.BlogContext
数据库。
同时,指令说:
如果安装了SQL Server Express(包含在Visual Studio 2010中),则会在本地SQL SErver Express实例(.\SQLEXPRESS
)上创建数据库。
如果未安装SQL Server Express,则代码优先将尝试使用LocalDb((localdb)\v11.0
) - Visual Studio 2012中包含LocalDb。
但在运行此程序后,我看不到在SQL Server对象资源管理器中创建MigrationsCodeDemo.BlogContext
,我只看到数据库文件夹下的系统数据库,命令行显示:
Another Blog
Another Blog
Another Blog
Another Blog
Press any key to exit...
因为我为这个程序运行了4次,所以有4行&#34;另一个Blog&#34;出现在命令行中。
有谁能告诉我为什么代码没有为我生成本地数据库?
非常感谢。