ibatis-user-cs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Clinton Begin" <clinton.be...@gmail.com>
Subject Field names conflict with Property names when automapping
Date Wed, 12 Jul 2006 23:22:05 GMT
Hi guys,

Are you aware that field names conflict with property names when automapping
columns?  So a class written like:

    public class Customer
    {
        private int id;

        public int ID
        {
            get { return id; }
            set { id = value; }
        }
    }


... will cause iBATIS.NET to fail with:

CustomerRepositoryTest.ShouldGetCustomerByID :
IBatisNet.DataMapper.Exceptions.DataMapperException : Error automapping
columns. Cause: Item has already been added. Key in dictionary: 'ID'  Key
being added: 'ID'
  ----> System.ArgumentException : Item has already been added. Key in
dictionary: 'ID'  Key being added: 'ID'

Seems like we're using the same map for fields and properties.  I suppose
the solution is to not.  :-)

I think we should probably have two maps, one for fields, one for properties
and then make a decision like:  "properties always take precidence over
fields if both exist" (favouring encapsulation).

Thoughts?

Clinton

Mime
View raw message