这是我尝试使用代码优先创建新表。我的目标是拥有一个与PhoneNumber
表相关的Name
表。 它实际上对数据库没有任何作用,所以我一定错过了一些重要的东西。
我的项目是默认的 ASP MVC 应用。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
namespace ZeroCloud1.Models
{
包含在 ApplicationDbContext 中 public virtual DbSet Blogs { get; set; } public virtual DbSet Posts { get; set; }
public partial class Blog
{
public Blog()
{
Posts = new HashSet<Post>();
}
public int BlogId { get; set; }
[StringLength(200)]
public string Name { get; set; }
[StringLength(200)]
public string Url { get; set; }
public virtual ICollection<Post> Posts { get; set; }
}
public partial class Post
{
public string PostString { get; set; }
public int ID { get; set; }
}
}
PM>添加迁移"TestClass3"脚手架迁移"TestClass3"。这 此迁移文件的设计器代码包含 当前代码优先模型。此快照用于计算 在搭建下一个迁移基架时对模型的更改。如果你 对模型进行要包含在此内容中的其他更改 迁移,然后您可以通过运行"添加迁移"来重新搭建基架 再次测试类3'。
PM> 更新数据库 将"-详细"标志指定为 查看应用于目标数据库的 SQL 语句。应用 显式迁移:[201704091548342_TestClass3]。应用显式 迁移:201704091548342_TestClass3。运行种子方法。
我没有意识到你[can only have one DbContext when using Code-First]
1
所以我使用了默认ASP MVC站点附带的应用程序DbContext,它可以工作