2012-08-23 38 views
10

在我的模型我有導航屬性語言代碼首先遷移:隨着現有表

public class IntegratorDescription : BaseContract 
{ 
    [Key, Column(TypeName = "bigint"), DataMember] 
    public long Id { get; set; } 
    [DataMember, Column(TypeName = "bigint"), ForeignKey("Language")] 
    public long LangId { get; set; } 
    [DataMember] 
    public string CompanyShortInfo { get; set; } 
    [DataMember, Column(TypeName = "ntext")] 
    public string CompanyInfo { get; set; } 

    public virtual Models.Language Language { get; set; } 
} 

語言表已經存在,它是由另一個ORM做的,我需要說遷移沒有嘗試創建語言表,但更新只有說明表。怎麼樣?

- 「數據庫中已經有一個名爲'Languages'的對象。」

回答

13

-IGNORECHANGES

支架的空遷移忽略在當前模型檢測到的任何掛起的更改。這可用於創建初始空遷移,以便爲現有數據庫啓用遷移。注:這樣做假定目標數據庫模式與當前模型兼容。

http://coding.abel.nu/2012/03/ef-migrations-command-reference/

+12

難道沒有辦法把它創建的表,如果它不存在,而忽視了表,如果它呢?這對EF來說似乎是一個巨大的疏忽。 – BrainSlugs83

+0

我希望^是真實的,但這篇文章讓我過去了我的問題! TY – workabyte