整数字段设置为null

时间:2014-04-15 15:11:17

标签: c# entity-framework

如何使整数字段接受空值?

[Range(10, 65]
[Display(Name = "oh")]
public int oh { get; set; }

我目前正在使用此代码,但我在sql server上获取not null(我还没有使用[必需])。

非常感谢!

4 个答案:

答案 0 :(得分:0)

使用?关键字

public int? oh { get; set; }

它使类型成为Nullable类型。现在,您可以将null设置为oh

然后通过以下方式检查其值:

if(oh.HasValue){
  Console.WriteLine(oh.Value)
}

.HasValue表示它是否有值或为空。

.Value为您提供实际值

答案 1 :(得分:0)

使用

INT?对于数据类型。

我不知道这将如何与Range ...

一起使用

答案 2 :(得分:0)

您可以使用可空类型:

int? intNullable = null;

使用可空类型,您有另一个功能,如名为HasValue的bool属性,如果int有值,则返回; Value获取不可为空的值。

if (intNullable.HasValue)
{
    int value = intNullable.Value;
}

在你的情况下

public int? oh { get; set; }

intvalue type之间存在差异,而int?是参考类型。 ?只是Nullable<T>课程的快捷方式。值类型不能为null,引用类型可以。详细了解http://msdn.microsoft.com/en-us/library/t63sy5hs.aspx

答案 3 :(得分:0)

你可以用吗?在值类型可能为null的情况下:

public int? oh { get; set; }