Я использую последнюю версию SubSonic 3 и ActiveRecord. Я пытаюсь сделать левое соединение в LINQ. Сбой с ошибкой где-то в SubSonic.
У меня есть объект Vehicle и объект VehicleImage. Автомобиль может иметь несколько изображений, но это не обязательно. поэтому уместно левое соединение.
Это то, что у меня есть
var vehicle = from v in Vehicle.All()
join dl in DealerLocation.All() on v.DealerLocationID equals dl.ID
join vi in VehicleImage.All() on v.ID equals vi.VehicleID into VehicleImages
from vij in VehicleImages.DefaultIfEmpty()
&& vij.IsPrimary
select new
{
v, vij.Image
};
Это ошибка, которую я получаю
The expression of type 'System.Linq.IQueryable`1[<>f__AnonymousType1`2[<>f__AnonymousType0`2[Project.Data.Vehicle,Project.Data.DealerLocation],System.Collections.Generic.IEnumerable`1[Project.Data.VehicleImage]]]' is not a sequence
Это трассировка стека
at SubSonic.Linq.Translation.QueryBinder.ConvertToSequence(Expression expr)
at SubSonic.Linq.Translation.QueryBinder.VisitSequence(Expression source)
at SubSonic.Linq.Translation.QueryBinder.BindSelectMany(Type resultType, Expression source, LambdaExpression collectionSelector, LambdaExpression resultSelector)
at SubSonic.Linq.Translation.QueryBinder.VisitMethodCall(MethodCallExpression m)
at SubSonic.Linq.Structure.ExpressionVisitor.Visit(Expression exp)
at SubSonic.Linq.Structure.DbExpressionVisitor.Visit(Expression exp)
at SubSonic.Linq.Translation.QueryBinder.Visit(Expression exp)
at SubSonic.Linq.Translation.QueryBinder.Bind(QueryMapping mapping, Expression expression)
at SubSonic.Linq.Structure.QueryMapping.Translate(Expression expression)
at SubSonic.Linq.Structure.DbQueryProvider.Translate(Expression expression)
at SubSonic.Linq.Structure.DbQueryProvider.GetExecutionPlan(Expression expression)
at SubSonic.Linq.Structure.DbQueryProvider.Execute(Expression expression)
at SubSonic.Linq.Structure.QueryProvider.System.Linq.IQueryProvider.Execute(Expression expression)
at SubSonic.Linq.Structure.Query`1.GetEnumerator()
at System.Linq.SystemCore_EnumerableDebugView`1.get_Items()
Заранее благодарим за понимание.