我刚开始一个新的MVC 5 EF 6项目,并添加了一个简单的模型:
public class Team
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public int TeamNo { get; set; }
public string Name { get; set; }
}
然后按照以下步骤操作: - 构建解决方案 - 添加ScaffoldedItem - 启用 - 迁移 - add-migration initial-create - 添加了种子数据:
var teams new List<Team>
{
new Team { TeamNo = 2600, Name = "C" },
new Team { TeamNo = 4000, Name = "VB" }
};
teams.ForEach(c => context.Teams.Add(c));
context.SaveChanges();
这按预期工作。
然后我添加了第二个模型(与Shop有1-1关系):
public class Shop
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public int ShopNo{ get; set; }
public shopFormat ShopFormat { get; set; }
public string Purpose { get; set; }
public int TeamNo { get; set; }
public string Description { get; set; }
}
然后我执行了相同的EF步骤: - 构建解决方案 - 添加ScaffoldedItem - 添加迁移商店
然后,当我尝试在配置中输入种子数据时,Intellisense不会拾取Shop属性。我可以输入:
var shops = new List<Shop>
{
new Shop { }
};
但是当我输入ShopNo = 1010时,我收到错误:project.Migrations.Shop不包含'ShopNo'的定义。
配置文件包括: 使用System.Data.Entity.Migrations;
任何人都可以帮助我,因为我拉着头发试图理解我做错了什么或出错了。
亲切的问候 克雷格
答案 0 :(得分:0)
我已经修复了它,删除了Migrations文件夹,删除了App_Data / Database文件,然后重复了迁移步骤。