-9
我已經瞭解到,DBNull
& C#正常null
是完全不同的東西和C#對待DBNull.Value
一些奇怪的隨意的事情,但將數據庫對待C#null
作爲一種價值是什麼?如果我在數據庫中插入C#'NULL',數據會是什麼?
數據庫會將C#null
視爲空或字符串還是一些隨機事物?
我已經瞭解到,DBNull
& C#正常null
是完全不同的東西和C#對待DBNull.Value
一些奇怪的隨意的事情,但將數據庫對待C#null
作爲一種價值是什麼?如果我在數據庫中插入C#'NULL',數據會是什麼?
數據庫會將C#null
視爲空或字符串還是一些隨機事物?
這取決於您用來訪問數據庫的內容。
null
到C#null
,其實它不使用DBNull
可言。DBNull
來表示數據庫null
,null表示缺少某些內容。其他數據訪問層可能使用不同的標準或其中之一。
例如,下面的查詢:
SELECT NULL FROM whatever WHERE 1=2
SELECT NULL FROM whatever WHERE 1=1
當以下稱爲:
實體框架(使用from .. select
)
IEnumerable
永遠不會返回值)null
實體框架(使用First()
)
null
實體框架(使用FirstOrDefault()
)
null
null
SQL DAO(使用ExecuteScalar()
)
null
DBNull
空將在數據庫空。 –
取決於您的數據訪問層。 EF將C#null映射到sql null。 – jrummell
-1,你爲什麼不試試? – gdoron