我正在玩EF 5和代碼第一。到目前爲止,我真的很喜歡它,但我已經注意到它將字符串列默認爲nvarchar。如果我想使用varchar,那麼我必須明確告訴它。實體框架5代碼首先映射字符串到全局varchar
我可以強制它使用VARCHAR而不是NVARCHAR字符串如下:
public class Member
{
public int id { get; set; }
[MaxLength(255), Required, Column(TypeName = "varchar")]
public string firstName { get; set; }
[MaxLength(255), Required, Column(TypeName = "varchar")]
public string surname { get; set; }
}
我通常會在幾乎所有情況下使用VARCHAR而不是爲nvarchar的,所以我更希望有全球字符串列映射到varchar,並且如果需要,可以像上面那樣在每列上設置nvarchar。
有沒有人知道一種方法來做到這一點?我試圖省略爲我的模型中的每個字符串列輸入[Column(TypeName =「varchar」)]的需要。
我意識到它可以按照我的例子這樣寫。我相信,儘管在全球範圍內必須有可能。 –
您是否嘗試過流利的api ?,因爲有時DataAnnotation不會給我們帶來最好的結果 –
我也有這個問題,並且這對我有用。如果您已經像我一樣創建了NVarchar列,這將使您添加的下一代Code First遷移解決了問題(將NVarchar列轉換爲Varchar)。好樣的! –