DBNull& C# の法線nullはまったく異なるものであり、C# はDBNull.Value奇妙なランダムなものとして扱われることを学びましたが、データベースは 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
以下の呼び出し時。
Entity Framework (を使用from .. select)
IEnumerable値を返さないもの)nullEntity Framework (を使用First())
nullEntity Framework (を使用FirstOrDefault())
nullnullSQL DAO (を使用ExecuteScalar())
nullDBNull