[seasar-dotnet:529] Re: Nullableカラムの自動生成 Insert、Updateで型キャストエラー
Kazuya Sugimoto
[E-MAIL ADDRESS DELETED]
2007年 7月 2日 (月) 17:51:45 JST
杉本です。
頂いたEntityクラスのソースをコピペして実行してみましたが、
再現しませんでした。BaseEntityは継承していませんが・・
Nttb64CarEntityクラスには問題が無いようです。
もしよろしければBaseEntityのソースも教えてもらえませんか?
07/07/02 に KIYOSUE Minoruさんは書きました:
> 杉本様
>
> いつも大変お世話になっております。
> また、連日お手数をお掛けし大変恐縮に存じます。
> 以下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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
--
Kazuya Sugimoto
Microsoft MVP Visual Developer - Solutions Architect
http://d.hatena.ne.jp/sugimotokazuya/
seasar-dotnet メーリングリストの案内