我剛剛安裝了VS 2012 Premium,我一直在關注PluralSight ASP.Net MVC 4教程。我在第4章,該項目使用EF 4 Code First自動創建數據庫。爲什麼在VS 2012中使用Code First時,Entity Framework 4會生成額外的列?
奇怪的是,它創建額外的數據庫列而不是匹配我的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(最大),NULL)
- Address_Street(爲nvarchar(最大),NULL)
- ADDRESS_CITY(爲nvarchar(最大),NULL)
- ADDRESS_STATE(爲nvarchar(最大),NULL)
- ADDRESS_COUNTRY(爲nvarchar(最大),NULL)
但沒有街道,城市,州,和在類國家屬性。在視頻中,數據庫只有ID,名稱和地址列,但我不知道這是否與他在使用EF時處於預發佈狀態的事實有關。新的EF有什麼大的假設?
有沒有人有任何想法這裏發生了什麼?
我已經刪除了生成的數據庫,obj和bin文件,重新創建了一個Restaurant.cs類,卸載了EF4,並添加了EF5,但沒有任何更改結果。我仍然得到那些與我的Restaurant.cs文件無關的額外列。
你可以顯示映射嗎?我認爲你已經將'地址'映射爲'Restaurant'的一個複雜屬性。 – Eranga
對不起,但我該怎麼做?它是否與「實體框架電動工具Beta 2」有關?這是我在Google上找到的唯一EF映射信息。 –
您是否重寫了'DbContext'類的'OnModelCreating'方法? – Eranga