在C#中使用可空的SQL数据的最佳实践是什么?

Met*_*uru 0 c# sql casting nullable

我倾向于这样做,例如接受整数的方法:

DoSomethingWithThisInt((int)dbObj.nullableInteger);
Run Code Online (Sandbox Code Playgroud)

但是我通常也会确保这个代码永远不会发生,除非它有一个值,有时这意味着我必须首先检查null,这需要更多行代码.

有没有更好的方法,或者我只是通过简单的方式做到这一点?

Ant*_*ram 5

如果您已在相关代码行之前检查过null,则可以使用

dbObj.nullableInteger.Value
Run Code Online (Sandbox Code Playgroud)

与演员相对.

例如,如果默认值也足够(例如0表示整数,false表示布尔值等),那么您可以省略空检查并简单地利用

doObj.nullableInteger.GetValueOrDefault()
Run Code Online (Sandbox Code Playgroud)