Problem to retrieve milliseconds with SQL request

15 views
Skip to first unread message

Laurent ALBAREDE

unread,
Mar 16, 2011, 8:57:59 AM3/16/11
to castle-pro...@googlegroups.com
Hi all,

I use AR with a postgreSQL 8.4 database.
I have tables with Timestamp fields I fill with date containing milliseconds, like "2011-01-01 08:00:00.123".

When I save a record with MyObject.Save(), the date is successfully stored with milliseconds.

My object contains one or more fields like that (or a composed primarykey contains that...):

        [Property("My_Date_Field", ColumnType = "Timestamp")]
        public virtual DateTime MyDate
{
get { return m_mydate; }
set { m_mydate = value; }
}


In order to retrieve this record, an SQL request is used. See below the function I use :

        private static IList<Object> ExecuteSQL(Type type, string request)
        {
            return (IList<Object>)ActiveRecordMediator.Execute(type,
                delegate(ISession session, object instance)
                {
                    return session.CreateSQLQuery(request)
                        .List<Object>();
                }, null);
        }

This function works but when I try to retrieve my record containing a datetime with milliseconds, the milliseconds are truncated.

I have tried also to use something like that :

ActiveRecordMediator.FindAll(typeof(type), new DetachedQuery("from My_Object where ...)));

The result is good (with milliseconds), but :
1. it is very slow compared to SQL query,
2. The code I maintain will certainly have too much impact with this solution (but if it's the only one, I will do with that...)


If someone have a solution to retrieve milliseconds with SQL query, it will be very helpful !

Many thanks,

Laurent.
Reply all
Reply to author
Forward
0 new messages