我刚刚安装了 VS 2012 Premium,并且一直在关注 PluralSight ASP.Net MVC 4 教程。我在第 4 章,项目使用 EF 4 Code First 自动创建数据库。
奇怪的是,它创建了额外的数据库列,而不是匹配我的 Restaurant.cs 模型文件中的属性。
在 Restaurant.cs 我有:
namespace OdeToFood.Models
{
public class Restaurant
{
public int ID { get; set; }
public string Name { get; set; }
public Address Address { get; set; }
}
}
但是,它在 OdeToFoodDB dbo.Restaurants 表中生成:
- ID(PK,int,不为空)
- 名称 (nvarchar(max), null)
- Address_Street (nvarchar(max), null)
- Address_City (nvarchar(max), null)
- Address_State (nvarchar(max), null)
- Address_Country (nvarchar(max), null)
但类中没有 Street、City、State 和 Country 属性。在视频中,数据库只有 ID、Name 和 Address 列,但我不知道这是否与他在 EF 处于预发布状态时使用的事实有关。新的 EF 是否有一些重要的假设?
有谁知道这里发生了什么?
我已经删除了生成的数据库、obj 和 bin 中的文件,重新创建了一个 Restaurant.cs 类,卸载了 EF4,并添加了 EF5,但最终结果没有任何改变。我仍然得到那些与我的 Restaurant.cs 文件无关的额外列。