[seasar-dotnet:375] Re: S2Dao.NET 1.0.1 リリース

Yuji Horiguchi soprano7 @ gmail.com
2006年 11月 8日 (水) 20:07:10 JST


こんにちは、堀口です。

以前までTimestampにNullableなDateTime型(DateTime?)が使用できていたので
すが、今回から使用できなくなってしまいました。
おそらく[DAONET-19]に関連することなのかと思いますが、できましたら
DateTime?型も使用できるようにしていただけないでしょうか。

とりあえず、AbstractAutoHandlerのSetupTimestampPropertyInfoと
SetupTimestampVariableListを以下のように変更したところDateTime?が使用で
きるようになったことを確認しました。

protected void SetupTimestampVariableList(IList varList, IPropertyType pt)
{
    if (pt.PropertyType == typeof(DateTime))
    {
        varList.Add(this.Timestamp);
    }
    else if (pt.PropertyType == typeof(Nullables.NullableDateTime))
    {
        varList.Add(new Nullables.NullableDateTime(this.Timestamp));
    }
#if !NET_1_1
    else if (pt.PropertyType == typeof(DateTime?))
    {
        varList.Add(this.Timestamp);
    }
#endif
    else
    {
        throw new WrongPropertyTypeOfTimestampException(pt.PropertyName,
pt.PropertyType.Name);
    }
}

protected void SetupTimestampPropertyInfo(PropertyInfo pi, object bean)
{
    if (pi.PropertyType == typeof(DateTime))
    {
        pi.SetValue(bean, Timestamp, null);
    }
    else if (pi.PropertyType == typeof(Nullables.NullableDateTime))
    {
        pi.SetValue(bean, new
Nullables.NullableDateTime(this.Timestamp), null);
    }
#if !NET_1_1
    else if (pi.PropertyType == typeof(DateTime?))
    {
        pi.SetValue(bean, Timestamp, null);
    }
#endif
    else
    {
        throw new WrongPropertyTypeOfTimestampException(pi.Name,
pi.PropertyType.Name);
    }
}


よろしくおねがいします。


Kazuya Sugimoto wrote:
> 杉本です。
> 
> S2Dao.NET 1.0.1をリリースしました。
> http://s2dao.net.seasar.org/
> 
> 変更点は以下の通りです。(.NET 1.1と.NET2.0の変更点は同じ)
> 
> - [DAONET-19]ID属性とTimestamp属性で指定されたプロパティでNullables型に対応する
> - [DAONET-32]S2Unit.NETが参照しているMbUnitのバージョンを最新版にする。
> (S2Unit.NETを使用する場合、MbUnit 2.3.83以上をインストールする必要がある。)
> - [DAONET-33]Nunit関連のdllファイルを削除する
> - [DAONET-34]複数行取得する際にカラム情報をキャッシュすることでパフォーマンスを向上させる
> 
-- 
Yuji Horiguchi
soprano7 @ gmail.com


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