![](/img/trans.png)
[英]EF Core 3.1 OrderByDescending curious T-SQL translation
[英]Why EF Core 3.1 StringLength Attribute doubles SQL column length
我正在使用 EF core 3.1 代碼優先方法。 當我為數據 model 參數指定[StringLength(51)]
時,等效的 SQL 列長度被指定為nvarchar(102)
。 為什么會翻倍? 我應該怎么做才能在 SQL 列中獲得相同的最大長度?
注意:MS SQL 服務器是我的后端。
我認為你可以使用
[MaxLength(51)] // nvarchar(51)
public string Email{ get; set; }
感謝@Igor 的評論。 我的錯,它在 SQL 中也有相同的長度。 加倍是以字節為單位的大小,對於每個字符來說,它是兩個字節。 以下查詢有助於理解它,因此將其發布為有助於像我這樣的人的答案。
select COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME='Table_Name'```
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.