В базе данных SQL Server есть поле с именем Priority
с типом smallint
, единственными значениями которого являются 0 и 1.
В конструкторе EDMX, если я проверяюОтображение таблицы, кажется, все в порядке.priority : smallint' is matched into
Приоритет: Int16`
Но в автоматически сгенерированных классах под Model.tt
я нахожу это:
public Nullable<short> Priority { get; set; }
Может кто-нибудь сказать мне, почему это не int
?Я действительно смущен.Как я должен сопоставить short
с enum
позже?
Спасибо.
Обновление Хорошо.Ответ на самом деле приведен в комментарии Ладислава Мрнки.
После некоторых исследований, здесь перечислены мои выводы:
Не должно быть никаких различий с точки зрения производительностимежду ними ... но лучше всегда использовать int16, так как он более родной для .net
Ключевые слова типа C # и их псевдонимы являются взаимозаменяемыми.Например, вы можете объявить переменную int16, используя одно из значений short или System.Int16.«Short» - это просто псевдоним.
Из MSDN:
Type Range Size .NET Framework type
short -32,768 to 32,767 Signed 16-bit integer System.Int16