我首先创建了以下类并更新到数据库,已经创建了表。
public class Region
{
public int RegionId { get; set; }
public string RegionName { get; set; }
}
public class Zone
{
public int ZoneId { get; set; }
public string ZoneName { get; set; }
}
我需要将外键插入表区域后:
public class Zone
{
public int ZoneId { get; set; }
public string ZoneName { get; set; }
public virtual Region Region { get; set; }
}
尝试:添加迁移区域和更新数据库..它不更新数据库。 Add-Migration正在创建具有空属性的类Up()&下()。 还尝试添加[ForeignKey(“RegionId”)]但没有成功。 我做错了什么?
编辑: 这是最后一个正在运行的版本:
public class Region
{
public int RegionId { get; set; }
public string RegionName { get; set; }
}
public class Zone
{
public int ZoneId { get; set; }
public string ZoneName { get; set; }
public int RegionId { get; set; }
public virtual Region Region { get; set; }
}
此外,我有两个上下文,并在此处找到解决方案( Brice的回答) - EF 4.3 Auto-Migrations with multiple DbContexts in one database
答案 0 :(得分:1)
使用现有数据库学习“Code First”的最佳方法是使用EF Power Tools。
和“逆向工程师”。
http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d
我在30分钟内了解了有关Mapping如何使用此工具的更多信息,然后我在Google上进行了数小时的Google搜索。
基本上,创建一个“类库”,当安装此插件时,您将获得一个新的上下文菜单(在项目中),这将允许您对数据库进行反向工程...
我喜欢这个工具。
话虽如此,我通常会在子对象上看到FK标量(父对象)。
public class Zone
{
public int ZoneId { get; set; }
public string ZoneName { get; set; }
public int RegionID { get; set; }
public virtual Region Region { get; set; }
}
但更基本的问题是你如何做你的映射?