If you are using .Net 2.0 you can do the following:
private int _id;
public int ID
{
get { return _id; }
private set { _id = value; }
}
On 7/18/06, Oddur Snær Magnússon <[EMAIL PROTECTED]> wrote:
True, the schema will not validate without a result element since the default for
minOccurs is 1. We need to add monOccurs="0" to the result to make it optional.
- Oddur
-----Original Message-----
From: Peter Mills [mailto:[EMAIL PROTECTED]
Sent: 18. júlí 2006 04:48
To: [email protected]
Subject: Re: ResultMap with constructor injection
Just to recap, in case there's any confusion: constructor injection
seems to be working perfectly, as long as you're also doing
property/field injection on the object as well. Doing constructor
injection, alone, does not seem to be supported.
I'm not familiar with .xsd schemas, but here is the relevant resultMap
section of the SqlMap.xsd:
<xs:element name="resultMap">
<xs:complexType>
<xs:sequence>
<xs:element ref="constructor" minOccurs="0" maxOccurs="1"/>
<xs:element ref="result" maxOccurs="unbounded"/>
<xs:element ref="discriminator" minOccurs="0" maxOccurs="1"/>
<xs:element ref="subMap" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
<xs:attribute name="class" type="xs:string" use="required"/>
<xs:attribute name="extends" type="xs:string"/>
</xs:complexType>
</xs:element>
If the lack of constructor only injection support is only a parsing
problem, perhaps a minOccurs="0" needs to be added to the "result" element?
Cheers,
Peter
Ron Grabowski wrote:
>DataMapper 1.5 supports this notation (IBATISNET-155):
>
><resultMap id="account-result-constructor" class="Account" >
> <constructor>
> <argument argumentName="id" column="Account_ID"/>
> <argument argumentName="firstName" column="Account_FirstName"/>
> <argument argumentName="lastName" column="Account_LastName"/>
> </constructor>
></resultMap>
>
>--- Clinton Begin <[EMAIL PROTECTED]> wrote:
>
>
>
>>In Java land I was thinking of simply adding the following to the
>>current
>><result> element...
>>
>>Currently we can do:
>>
>> <result property="FirstName" column="FIRST_NAME" />
>>
>>I'd like to add...
>>
>> <result field="_firstName" column="FIRST_NAME"/> <!-- I'm not
>>advocating underscores -->
>>
>>...and...
>>
>> <result column="FIRST_NAME" />
>>
>>The latter (which lacks both property and field attributes) would be
>>a
>>constructor parameter. It would have to follow some rules:
>>
>> 1) Constructor results must come first in the result map defn.
>> 2) Constructor results must be in the same order as the
>>parameters of
>>the constructor.
>>
>>I think constructor and field support would be awesome in both the
>>.NET and
>>Java versions.
>>
>>Thoughts?
>>
>>Clinton
>>
>>
>
>
>