在SQL Server数据库中,有一个名为Priority
的字段,其类型为smallint
,其唯一值为0和1。
在EDMX Designer中,如果我检查表映射,看起来一切都很好。
priority : smallint' is matched into
优先级:Int16`
但是,在Model.tt
下的自动生成的类中,我发现了这个:
public Nullable<short> Priority { get; set; }
有人可以告诉我它为什么不是int
吗?我真的很困惑。我应该如何在short
之后与enum
匹配?
谢谢。
更新 好的。答案实际上是由Ladislav Mrnka的评论中提供的。
经过一些研究,这里列出了我的发现:
在这些之间在性能方面应该没有任何区别。但是它更好地使用int16,因为它更像是.net
C#类型关键字及其别名是可互换的。例如,您可以使用short或System.Int16中的任何一个声明int16变量。 “短”只是一个别名。
来自MSDN:
Type Range Size .NET Framework type
short -32,768 to 32,767 Signed 16-bit integer System.Int16