3

我有以下幾點:Entity Framework 7遷移:如何獲得長度大於1的varchar列?

[Table("Countries")] 
public class Country 
{ 
    public int CountryId { get; set; } 

    [MaxLength(255), Required] 
    public string CountryName { get; set; } 

    [Column(TypeName = "varchar")] 
    public string CountryCode { get; set; } 
} 

每次我申請我的遷移,COUNTRYCODE變成爲1。最大長度我試過的MaxLength註釋設置爲255,仍然可以得到1一個最大長度VARCHAR列。當列設置爲nvarchar時,它按預期工作。難道我做錯了什麼?

編輯:每當我明確設置字符串數據類型,長度集1。我可以使用的列(類型名=「nvarchar的」)且長度集作爲1 ..

+0

嘗試'[柱(類型名= 「VARCHAR(255)」)]' – lad2025

+0

我試圖太多。沒有工作。仍然產生長度爲1. – Rich76

+0

添加屬性'[StringLength(250)]' – lad2025

回答

2

的喜歡的是有使用的數據註解,但我能得到它一起工作:

builder.Entity<Country>() 
      .Property(e = e.CountryCode).HasSqlServerColumnType("VARCHAR(30)"); 

數據註釋尚未完全實體框架中實現7 ,您仍然可以添加註釋到您的實體類,使他們其他框架(如ASP.NET MVC)使用的 ,bu t實體框架 將不處理這些註釋。您可以跟蹤對數據的支持 Annotations on GitHub

http://ef.readthedocs.org/en/latest/modeling/configuring.html

相關問題