[ http://issues.apache.org/jira/browse/IBATISNET-109?page=comments#action_12322958 ]
Ron Grabowski commented on IBATISNET-109: ----------------------------------------- These would be the classes for all the magic values: StringEmptyNullValueTypeHandler DateTimeMaxValueNullValueTypeHandler DateTimeMinValueNullValueTypeHandler Int16MinValueNullValueTypeHandler Int16MaxValueNullValueTypeHandler Int32MinValueNullValueTypeHandler Int32MaxValueNullValueTypeHandler Int64MinValueNullValueTypeHandler Int64MaxValueNullValueTypeHandler BooleanTrueNullValueTypeHandler BooleanFalseNullValueTypeHandler CharMinValueNullValueTypeHandler CharMaxValueNullValueTypeHandler DecimalMinValueNullValueTypeHandler DecimalMinueOneNullValueTypeHandler DecimalMinValueNullValueTypeHandler DecimalOneNullValueTypeHandler DecimalZeroNullValueTypeHandler DoubleEpsilonNullValueTypeHandler DoubleMaxValueNullValueTypeHandler DoubleMinValueNullValueTypeHandler DoubleNaNNullValueTypeHandler DoubleNegativeInfinityNullValueTypeHandler DoublePositiveInfinityNullValueTypeHandler SingleEpsilonNullValueTypeHandler SingleMaxValueNullValueTypeHandler SingleMinValueNullValueTypeHandler SingleNaNNullValueTypeHandler SingleNegativeInfinityNullValueTypeHandler SinglePositiveInfinityNullValueTypeHandler TimeSpanMaxValueNullValueTypeHandler TimeSpanMinValueNullValueTypeHandler TimeSpanTicksPerDayNullValueTypeHandler TimeSpanTicksPerHourNullValueTypeHandler TimeSpanTicksPerMillisecondNullValueTypeHandler TimeSpanTicksPerMinuteNullValueTypeHandler TimeSpanTicksPerSecondNullValueTypeHandler TimeSpanZeroNullValueTypeHandler > Allow use of built-in magic numbers (int.MinValue, DateTime.MaxValue) for > nullValues with nullValueTypeProperty > --------------------------------------------------------------------------------------------------------------- > > Key: IBATISNET-109 > URL: http://issues.apache.org/jira/browse/IBATISNET-109 > Project: iBatis for .NET > Type: Improvement > Reporter: Ron Grabowski > Priority: Trivial > > Instead of having to specify a known value for a nullValue: > <parameter property="EmailAddress" type="string" nullValue="[EMAIL > PROTECTED]" column="EMAIL" /> > It would be nice to use the magic values built into the Framework: > string.Empty > int.MinValue > int.MaxValue > DateTime.MinValue > DateTime.MaxValue > etc... > Using syntax like this means I don't have to embed the magic string "[EMAIL > PROTECTED]" into my application: > <parameter property="EmailAddress" type="string" > nullValueTypeProperty="Empty" column="EMAIL" /> > int.MinValue is a static const and DateTime.MinValue is a static readonly so > I don't know if property would be the correct wording. Is there a more > general term for properties, fields, public constants, etc? > <parameter property="EmailAddress" type="string" nullValueTypeMember="Empty" > column="EMAIL" /> > nullValueTypeMember should be shorter too... > An alternative approach (I like this idea more) would be to ship IBatisNet > with things like: > StringEmptyNullValueTypeHandler > DateTimeMaxValueNullValueTypeHandler > DateTimeMinValueNullValueTypeHandler > Int32MinValueNullValueTypeHandler > Int32MaxValueNullValueTypeHandler > They would have a dual purpose of inserting a null value when a string.Empty > or an int.MinValue were encountered as well as setting a property to > string.Empty or int.MinValue when a NULL is returned from the database. > <!-- insert NULL if EmailAddress is the empty string --> > <parameter property="EmailAddress" column="EMAIL_ADDRESS" > handler="StringEmptyNullValueTypeHandler" /> > <!-- set ExpirationDate to DateTime.MaxValue if the database returns NULL --> > <result property="ExpirationDate" column="EXPIRATION_DATE" > handler="DateTimeMaxValueNullValueTypeHandler" /> -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira