私のプロジェクトにDataSetデザイナがあります。デザイナで生成されたDataSetのNULL値が例外をスローします。
私の生成したデータセットの1つに、NULLを含むことができる列があります。データベース列自体にはNULLを含めることができます。別の列のLEFT OUTER JOIN
を介してコアテーブルに接続されています。別の列には、それ自体がNULLを含むことができます。それがnullを見たときにInvalidCastExceptionがスローされます
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")> _
Public Property DeptName() As String
Get
Try
Return CType(Me(Me.tableEmployee.DeptNameColumn),String)
Catch e As Global.System.InvalidCastException
Throw New Global.System.Data.StrongTypingException("The value for column 'DeptName' in table 'Employee' is DBNull.", e)
End Try
End Get
Set
Me(Me.tableEmployee.DeptNameColumn) = value
End Set
End Property
:結果
デザイナーで生成されたコードはこれです。これはです。insaneです。 コースの場合はnullがあります。私はそれらを期待しています。私が期待していないのは、のデータをチェックするたびに例外がスローされます。
String
列の代わりにString?
列を作成するようにDesignerに指示する方法はありますか?私の考え方には、列は本当にnullableでなければなりません。
SQL Server 9.0.50000インストールに接続していますが、これは関連する場合もあれば、そうでない場合もあります。
驚くばかりです。デザイナーがこれを検出できないという奇妙なことですが、解決策を見いだすことは素晴らしいことです。 – Frosty840