See : https://nhibernate.jira.com/browse/NH-3033
On 24 Jan., 11:28, LOBOMINATOR <[email protected]> wrote: > Ok. I'll do that. > > On 24 Jan., 09:50, Oskar Berggren <[email protected]> wrote: > > > > > > > > > If you can't find anything that seems relevant and you believe it to > > be a bug, please file a new issue. > > > It would be really helpful (i.e. make a fix come faster) if you could > > also create the smallest possible test case that expose the problem > > and attach it to the issue. > > > /Oskar > > > 2012/1/24 LOBOMINATOR <[email protected]>: > > > > Do you happen to know where? > > > > On 24 Jan., 08:38, Oskar Berggren <[email protected]> wrote: > > >> I think I remember seeing something like this reported in the issue > > >> tracker. (nhibernate.jira.com). > > > >> /Oskar > > > >> 2012/1/24 LOBOMINATOR <[email protected]>: > > > >> > Hello Together, > > > >> > In production we are using Sql Server 2008 Express R2. To enable > > >> > testing of our queries etc. we are using Sql Compact 4.0 in our > > >> > continuously running tests. We wrote some customization to support > > >> > DateTimeOffset for Sql Compact edition. But the rest is kept at its > > >> > defaults. This worked very nice until we introduced subqueries and > > >> > inheritance hierarchies. The following issue occurs: > > > >> > Lets say we have > > >> > public class Person { public virtual Name { get; set; } } > > >> > public class Employee : Person { } > > >> > public class ExEmployee: Person { } > > > >> > when we want to write a query which returns the count of employees and > > >> > the count of exemployees the compact server explodes when we write it > > >> > with futures or subqueries: > > > >> > Person person = null; > > >> > PersonDTO personDTO = null; > > > >> > var employeeCount = session.QueryOver<Employee>() > > >> > .Where(t => t.Company.Id == this.companyId) > > >> > .Select(Projections.RowCount()) > > >> > .FutureValue<int>(); > > > >> > var exEmployeeCount = session.QueryOver<ExEmployee>() > > >> > .Where(t => t.Company.Id == this.companyId) > > >> > .Select(Projections.RowCount()) > > >> > .FutureValue<int>(); > > > >> > return session.QueryOver(() => orderAlias) > > >> > .Where(o => o.Id == this.orderId) > > >> > .Select( > > > >> > Projections.Constant(employeeCount.Value).WithAlias(() => > > >> > personDTO .NumberOfEmployees), > > > >> > Projections.Constant(exEmployeeCount.Value).WithAlias(() => personDTO > > >> > NumberOfExEmployees), > > >> > ...) > > >> > .TransformUsing(Transformers.AliasToBean<PersonDTO > > >> >>()) > > >> > .SingleOrDefault<PersonDTO >(); > > > >> > or > > > >> > var employeeCount = QueryOver.Of<Employee>() > > >> > .Where(w => w.Company.Id == this.companyId) > > >> > .Select(Projections.RowCount())); > > > >> > var exEmployeeCount = QueryOver.Of<ExEmployee>() > > >> > .Where(w => w.Company.Id == this.companyId) > > >> > .Select(Projections.RowCount())); > > > >> > return session.QueryOver(() => person) > > >> > .Select( > > >> > Projections.SubQuery(employeeCount ).WithAlias(() => > > >> > personDTO.NumberOfEmployees), > > >> > Projections.SubQuery(exEmployeeCount ).WithAlias(() => > > >> > personDTO.NumberOfExEmployees)) > > >> > TransformUsing(Transformers.AliasToBean<PersonDTO>()) > > >> > Future<PersonDTO>(); > > > >> > We get a SqlCe parse exception with either cannot create multicriteria > > >> > (in case of futures) or SqlCe exception with only parse exception. > > > >> > The only solution we have so far is to write three queries without > > >> > futures or subqueries. Any suggestions how could overcome this issue > > >> > without moving away from SqlCompact to SqlServer in our tests? > > > >> > Daniel > > > >> > -- > > >> > You received this message because you are subscribed to the Google > > >> > Groups "nhusers" group. > > >> > To post to this group, send email to [email protected]. > > >> > To unsubscribe from this group, send email to > > >> > [email protected]. > > >> > For more options, visit this group > > >> > athttp://groups.google.com/group/nhusers?hl=en. > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "nhusers" group. > > > To post to this group, send email to [email protected]. > > > To unsubscribe from this group, send email to > > > [email protected]. > > > For more options, visit this group > > > athttp://groups.google.com/group/nhusers?hl=en. -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.
