I am using Lightspeed v4.0.1476.20948 (nightly 6 sept 2012) on the Nortwind database. I try to group on a field, then use a Where on another field:
dataGridView1.DataSource = uow.Orders.Where(o => o.ShipViaId == 1)
.GroupBy(o => o.EmployeeId)
.Where(g => g.Key == 5)
.ToList();
This gives the following exception:
Mindscape.LightSpeed.LightSpeedException was unhandled
Message=Query Error: Could not find field [Key] on model [Orders]
Source=Mindscape.LightSpeed
StackTrace:
at Mindscape.LightSpeed.LightSpeedException.(Exception , String , Object[] )
at Mindscape.LightSpeed.LightSpeedException.(String , Object[] )
at ..(String )
at ..(IdentifierExpression , FieldModel& , ToOneModel& , & , String& )
at ..(IdentifierExpression , FieldModel& , ToOneModel& , & , String& )
at ..(IdentifierExpression )
at Mindscape.LightSpeed.Querying.IdentifierExpression.[T](IExpressionVisitor`1 )
at ..(PredicateExpression )
at ..(PredicateExpression )
at Mindscape.LightSpeed.Querying.PredicateExpression.[T](IExpressionVisitor`1 )
at ..(AliasedTypeModel , QueryExpression , Order , Group , String , Boolean , Boolean )
at ..(LightSpeedContext , List`1 , QueryExpression , Order , Group , String , Boolean , Boolean )
at ..(List`1 , Query , String , IdentifierExpression )
at ..(List`1 , Query )
at ..(Query )
at Mindscape.LightSpeed.UnitOfWork.Project(Query query)
at Mindscape.LightSpeed.Linq.Plan.GroupResultsPlan.ExecuteImmediate(IUnitOfWork unitOfWork, Type returnType)
at Mindscape.LightSpeed.Linq.LinqQueryProvider.Execute(Expression expression)
at Mindscape.LightSpeed.Linq.LinqQueryProvider.System.Linq.IQueryProvider.Execute(Expression expression)
at Mindscape.LightSpeed.Linq.LinqQuery`1.GetEnumerator()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at Northwind.Form1.button1_Click(Object sender, EventArgs e) in D:\Projects\Northwind\Northwind\Form1.cs:line 28
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Northwind.Program.Main() in D:\Projects\Northwind\Northwind\Program.cs:line 18
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException: