[seasar-dotnet:528] Re: Nullableカラムの自動生成 Insert、Updateで型キャストエラー

KIYOSUE Minoru [E-MAIL ADDRESS DELETED]
2007年 7月 2日 (月) 12:04:00 JST


杉本様

いつも大変お世話になっております。
また、連日お手数をお掛けし大変恐縮に存じます。
以下Entityのソースです。

Imports System
Imports Nullables

Imports Seasar.Dao.Attrs
Imports  BaseEntity = NtkProjectCore.entity.BaseEntity

Namespace entity

    <Serializable()> _
    <Table("nttb64Car")> _
    Public Class Nttb64CarEntity
        Inherits BaseEntity
        Implements System.ICloneable

        ''' <summary>テーブルアノテーション </summary>
        Public Const TABLE As String = "nttb64Car"

        ''' <summary>プライマリーキー項目配列 </summary>
        Public Shared ReadOnly PKEYS As String() = New String() { _
               "nt64CarMasterID, nt64CarNo1, nt64CarNo2, nt64CarNo3,
nt64CarNo4"}

        ''' <summary>
        '''    車両マスタID [nt64CarMasterID:int(4)](pkey)
        ''' </summary>
        Protected Friend int32Nt64CarMasterID  As NullableInt32
        ''' <summary>
        '''    車両番号1 [nt64CarNo1:VARCHAR(10)](pkey)
        ''' </summary>
        Protected Friend strNt64CarNo1  As String
        ''' <summary>
        '''    車両番号2 [nt64CarNo2:VARCHAR(3)](pkey)
        ''' </summary>
        Protected Friend strNt64CarNo2  As String
        ''' <summary>
        '''    車両番号3 [nt64CarNo3:VARCHAR(2)](pkey)
        ''' </summary>
        Protected Friend strNt64CarNo3  As String
        ''' <summary>
        '''    車両番号4 [nt64CarNo4:VARCHAR(4)](pkey)
        ''' </summary>
        Protected Friend strNt64CarNo4  As String
        ''' <summary>
        '''    登録日_西暦 [nt64RegistDateSEIREKI:DATETIME(8)]
        ''' </summary>
        Protected Friend dtmNt64RegistDateSEIREKI  As NullableDateTime

        ''' <summary>
        '''    車両マスタID [nt64CarMasterID:int(4)](pkey)の設定、取得
        '''     <param name="_value"> 車両マスタID </param>
        '''     <returns> 車両マスタID </returns>
        ''' </summary>
        <Column("nt64CarMasterID")> _
        Public Overridable Property Nt64CarMasterID  As NullableInt32
            Set(ByVal _nt64CarMasterID  As NullableInt32)
                Me.int32Nt64CarMasterID  =  _nt64CarMasterID
            End Set
            Get
                Return Me.int32Nt64CarMasterID
            End Get
        End Property

        ''' <summary>
        '''    車両番号1 [nt64CarNo1:VARCHAR(10)](pkey)の設定、取得
        '''     <param name="_value"> 車両番号1 </param>
        '''     <returns> 車両番号1 </returns>
        ''' </summary>
        <Column("nt64CarNo1")> _
        Public Overridable Property Nt64CarNo1  As String
            Set(ByVal _nt64CarNo1  As String)
                Me.strNt64CarNo1  =  _nt64CarNo1
            End Set
            Get
                Return Me.strNt64CarNo1
            End Get
        End Property

        ''' <summary>
        '''    車両番号2 [nt64CarNo2:VARCHAR(3)](pkey)の設定、取得
        '''     <param name="_value"> 車両番号2 </param>
        '''     <returns> 車両番号2 </returns>
        ''' </summary>
        <Column("nt64CarNo2")> _
        Public Overridable Property Nt64CarNo2  As String
            Set(ByVal _nt64CarNo2  As String)
                Me.strNt64CarNo2  =  _nt64CarNo2
            End Set
            Get
                Return Me.strNt64CarNo2
            End Get
        End Property

        ''' <summary>
        '''    車両番号3 [nt64CarNo3:VARCHAR(2)](pkey)の設定、取得
        '''     <param name="_value"> 車両番号3 </param>
        '''     <returns> 車両番号3 </returns>
        ''' </summary>
        <Column("nt64CarNo3")> _
        Public Overridable Property Nt64CarNo3  As String
            Set(ByVal _nt64CarNo3  As String)
                Me.strNt64CarNo3  =  _nt64CarNo3
            End Set
            Get
                Return Me.strNt64CarNo3
            End Get
        End Property

        ''' <summary>
        '''    車両番号4 [nt64CarNo4:VARCHAR(4)](pkey)の設定、取得
        '''     <param name="_value"> 車両番号4 </param>
        '''     <returns> 車両番号4 </returns>
        ''' </summary>
        <Column("nt64CarNo4")> _
        Public Overridable Property Nt64CarNo4  As String
            Set(ByVal _nt64CarNo4  As String)
                Me.strNt64CarNo4  =  _nt64CarNo4
            End Set
            Get
                Return Me.strNt64CarNo4
            End Get
        End Property

        ''' <summary>
        '''    登録日_西暦 [nt64RegistDateSEIREKI:DATETIME(8)]の設定、取得
        '''     <param name="_value"> 登録日_西暦 </param>
        '''     <returns> 登録日_西暦 </returns>
        ''' </summary>
        <Column("nt64RegistDateSEIREKI")> _
        Public Overridable Property Nt64RegistDateSEIREKI  As
NullableDateTime
            Set(ByVal _nt64RegistDateSEIREKI  As NullableDateTime)
                Me.dtmNt64RegistDateSEIREKI  =  _nt64RegistDateSEIREKI
            End Set
            Get
                Return Me.dtmNt64RegistDateSEIREKI
            End Get
        End Property

    End Class 'Nttb64CarEntity
End Namespace 'entity

よろしくお願いします。

----- Original Message ----- 
From: "Kazuya Sugimoto" <[E-MAIL ADDRESS DELETED]>
To: <[E-MAIL ADDRESS DELETED]>
Sent: Monday, July 02, 2007 11:54 AM
Subject: [seasar-dotnet:527] Re:Nullableカラムの自動生成 Insert、Updateで型
キャストエラー


> 杉本です。
>
> Entityクラスのソースコードを見せて頂いてもよろしいでしょうか?
>
> ちなみにVersionNoの場合は次のバージョンまで、NullableInt32には対応
> しておりません。でもNullableDatetimeもエラーになるとのことですので、
> 原因は他にありそうですね。
>
> 07/07/01 に KIYOSUE Minoru さんは書きました:
> > 度々の質問で大変恐縮に存じます、清末です。
> >
> > DAOのS2UnitTestを開始し、Null可の項目を作成し、実行したところ
> > 次のエラーとなってしまいます。
>
> > 同様に、NullableDatetimeを指定したカラムもエラーとなってしまいます。
> >
> > VS2005 の場合、Nullable を使用しないで、Nullable(Of Int32) を使用した
> > 方が良いのでしょうか?ご教授お願い申し上げます。
>
>
>
> -- 
> Kazuya Sugimoto
> Microsoft MVP Visual Developer - Solutions Architect
> http://d.hatena.ne.jp/sugimotokazuya/
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>



seasar-dotnet メーリングリストの案内