.NET 2.0 Nullable types will work correctly with null values.
On 9/28/07, Andrea Tassinari <[EMAIL PROTECTED]> wrote:
>
> Hello,
>
> I'm wondering why nullValue attribute does not work at all to me. Consider
> the following snippets
>
> <!-- sqlMap -->
> <resultMaps>
> <resultMap id="IssueResultMap" class="Issue">
> <result property="Id"
> column="Id"
> type="Guid"
> dbType="UniqueIdentifier" />
> <result property="IssueDate"
> column="IssueDate"
> type="DateTime"
> dbType="DateTime"
> nullValue="1/1/0001 12:00:00 AM" />
> </resultMap >
> </resultMaps>
>
> <!-- this does **not** work, sqlclient complains about IssueDate-->
> <insert id="Insert" parameterClass="Issue">
> INSERT
> INTO ISSUES
> (Id, IssueDate)
> VALUES
> (#Id#,#IssueDate#)
> </insert>
>
> <!-- this **does** work -->
> <insert id="InsertIssue" parameterClass="Issue">
> INSERT
> INTO ISSUES
> (Id, IssueDate)
> VALUES
> (#Id#,#IssueDate:DateTime:1/1/0001 12:00:00 AM#)
> </insert>
>
> //CS snippet
> Issue issue = new Issue();
>
> //this is only for clarity sake, actually performed by the contructors.
> issue.IssueDate = new DateTime();
>
> //finally persist to DB
> _mapper.Insert("InsertIssue", issue);
>
> Is there a reason for that? I am wrong or else? It *is* very boring and
> error-prone to write all nullValue condition in the inline form (consider
> that I have over 200 insert/update statements in my app.
>
> My system:
>
> .NET 2.0
> iBatis DataMapper 1.6.1 GA binary version
> Sql Server 2.0
> using provider sqlServer2.0 as shipped in providers.config
>
> Thanks for any support.
>
> --
> Kind Regards
> Andrea
>
>