By the way, "Instant" sounds closely related to the existing .Net type DateTimeOffset.
/Oskar 2017-01-24 19:46 GMT+00:00 Oskar Berggren <[email protected]>: > Comparison operators on multi-column user types aren't very useful. The > behaviour you see will sometimes be useful for equaliye operators though. > > What you are trying to do looks a bit redundant, and I would suggest you > avoid storing what is essentially the same value twice, unless you have a > very clear idea on what you will gain by it. > > You could explore using a component instead. That way you can write your > queries with the condition on the proper "subvalue". > > /Oskar > > 2017-01-24 12:32 GMT+00:00 Denis Pujdak <[email protected]>: > >> Hi everyone, >> >> I got stuck on my implementation using composite user type Instant: >> >> public class InstantUserType : ICompositeUserType >> { >> public override string[] PropertyNames >> { >> get >> { >> return new string[2] { "Utc", "Local" }; >> } >> } >> >> public override IType[] PropertyTypes >> { >> get >> { >> return new IType[2] { NHibernateUtil.UtcDateTime, >> NHibernateUtil.DateTime }; >> } >> } >> >> public override Type ReturnedClass >> { >> get >> { >> return typeof(Instant); >> } >> } >> } >> >> This it strange because when I use comparison like: >> >> var dueDate = new Instant(DateTime.UtcNow); >> var result = ((IQueryable)myRepository).Where(x => x.DueDate <= dueDate >> ).ToList(); >> >> the generated query looks like: >> >> select * from SomeTable where DueDateUtc <= @p0 and DueDateLocal <= @p0 >> >> Does anyone know what can I do to prevent NHibernate from searching by >> the second parameter. It must be like: >> >> select * from SomeTable where DueDateUtc <= @p0 >> >> >> Thanks. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "nhusers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at https://groups.google.com/group/nhusers. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "nhusers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/nhusers. For more options, visit https://groups.google.com/d/optout.
