我将尝试使用CodeFirst模型来创建dataBase。
准备如下代码(来自online tutorial)。代码与教程完全相同:
class Program
{
static void Main(string[] args)
{
using (BlogContext db = new BlogContext())
{
Console.Write("Enter a name for a new Blog:");
var name = Console.ReadLine();
var blog = new Blog { Name = name };
Database.SetInitializer<BlogContext>(null);
db.Blogs.Add(blog);
db.SaveChanges();
var query = from b in db.Blogs
orderby b.Name
select b;
foreach (var item in query)
{
Console.WriteLine(item.Name);
}
}
}
}
public class Blog
{
public int BlogId { get; set; }
public string Name { get; set; }
public virtual List<Post> Posts { get; set; }
}
public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public int BlogId { get; set; }
public virtual Blog Blog { get; set; }
}
public class BlogContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
}
结果 - 得到了异常
找到此异常的解决方案here。现在没关系,工作并向我显示已保存的数据,但在我的Sql Server对象资源管理器中,我看不到任何数据库或表。
有什么建议吗? Wnat我必须做修复这个吗?
修改
因此,正如@Sergiy Berezovskiy所提到的那样 - 我尝试检查dataBase并手动添加dataConnection以显示刚创建的数据库。
答案 0 :(得分:2)
我认为你有两个问题:
DropCreateDatabaseWhenModelChanges
数据库初始化程序重新创建数据库。