2011-08-26 67 views
2

我是MVC3 C#的新手。爲了傳統目的,我需要在數據庫中有一列名爲3DSecureStatus的列。MVC3命名以數字開頭的列

當我打電話列這一點,並在應用程序中插入我得到這個錯誤:

[ModelValidationException: One or more validation errors were detected during model generation:

System.Data.Edm.EdmProperty: Name: The specified name is not allowed: '_3DSecureStatus'. ]

在我定義它爲public string _3DSecureStatus { get; set; }的應用程序,因爲它不喜歡3是列的第一個字符名稱。

有什麼建議該怎麼辦?

+1

顯示您確切的失敗的代碼,請 –

+0

整個應用程序所行的工作,那是錯誤,我得到當我運行它時 – Beginner

+0

@Beginner,你可以調試你的應用程序,並通過它並向我們展示它失敗的行嗎?或者至少提供一個堆棧跟蹤。 –

回答

2

使用Column屬性來指定數據庫列名

[Column("3DSecureStatus")] 
public string ThreeDSecureStatus { get; set; } 

或者用流利的映射像

Property(x => x.ThreeDSecureStatus).HasColumnName("3DSecureStatus"); 
1

_3DSecureStatus重命名爲其他內容。

實體框架代碼首先不允許屬性/列在名稱的開頭有下劃線或數字。

所以你必須改變這一點,直到這是固定的。

+0

3DSecureStatus – Beginner

+0

當我收到一個來自聖人的帖子稱它爲3DSecureStatus – Beginner

+0

命名它別的東西,我試圖找到一個解決方案,同時。但是看看它是否有效很有趣。您不需要將Exact命名爲來自Sage的呼叫。 –

1

這實際上是一個實體框架錯誤,而不是一個MVC錯誤。它看起來有點像谷歌搜索,強調Code First字段名稱的開頭是無效的,並且不起作用。如果可以,請嘗試在它前面放一個字母。

相關問題