2013-08-27 55 views
3

我首先遇到實體框架代碼問題。實體框架代碼第一列名稱問題

我的SQL數據庫中有一個名爲'myId'的現有列。我將它添加到我的課像這樣:

public virtual int? myId { get; set; } 

我跑:更新數據庫-connectionStringName「[SITENAME]」 -force

所有成功運行,但是當我看着我看到現有的數據庫列已更改爲「myId1」。我不知道爲什麼我的現有專欄的名稱正在更改而未使用?正如你所看到的,它已經爲名稱附加了'1'。

任何想法將受到感謝!

+0

爲什麼更新數據庫如果列仍然存在? update-database的目標之一是更新數據庫模式以使我與模型保持一致。在你的情況下,模型中的新字段=>模式中的新字段。由於名稱不可用,因此會創建新名稱。 – tschmit007

+0

如果我不運行更新,我會得到以下內容......「自從創建數據庫以來,支持'[DBCContext]'上下文的模型已更改」 – user1323563

+0

最初創建數據庫的方式如何?也就是說,爲什麼你有一個myId列? – tschmit007

回答

0

我假設myId不是PK!?

 

`public int? myId { get; set; }` 
 

,並添加您的遷移作爲

 

`AlterColumn("tablename", "myId", c => c.Int(nullable: true));` 
 

然後運行更新的數據庫命令。

相關問題