2011-09-06 45 views
1

我正在开发一个web应用程序应用程序,我使用EntityFramework ObjectModel来设计我的Model层。实体框架4和SQL Server数据类型(nchar vs char)

问题是我有一些字符串字段(如'CodiceFiscale',意大利人的唯一标识符)应该是16个字符。设计者让我把它设为固定长度,最大长度= 16,但这意味着这个字段在sql server中是nchar(16)。

是否有任何机会,以设置该字段为char(我想,以避免在最后场填补)提前

THX

+2

'CHAR'和'NCHAR' **都是**固定长度。如果你最后想避免填充,你需要使用'VARCHAR/NVARCHAR'来代替! –

+0

mh,你是对的marc_s,这是我的错。我怎样才能做到这一点? – frabiacca

回答

1

只是在模型中使用的MaxLength = 16, FixedLength = false设置:

enter image description here

这应该导致NVARCHAR(16)列,这就是你要找的。

+1

我明白了错误。我已经将“固定长度”属性设置为“true”,因为它创建了一个nchar列。多谢! – frabiacca

+1

@frabiacca:正好!这是“错误的”设置.... –