Skip to content

Instantly share code, notes, and snippets.

@evilbloodydemon
Last active August 29, 2015 14:05
Show Gist options
  • Select an option

  • Save evilbloodydemon/7ecdba48c8ad776884f7 to your computer and use it in GitHub Desktop.

Select an option

Save evilbloodydemon/7ecdba48c8ad776884f7 to your computer and use it in GitHub Desktop.
at LinqToDB.Linq.Builder.TableBuilder.TableContext.GetField(Expression expression, Int32 level, Boolean throwException)
at LinqToDB.Linq.Builder.TableBuilder.TableContext.FindTable(Expression expression, Int32 level, Boolean throwException)
at LinqToDB.Linq.Builder.TableBuilder.TableContext.IsExpression(Expression expression, Int32 level, RequestFor requestFor)
at LinqToDB.Linq.Builder.ExpressionContext.IsExpression(Expression expression, Int32 level, RequestFor requestFlag)
at LinqToDB.Linq.Builder.ExpressionBuilder.<>c__DisplayClass68.<CheckSubQueryForWhere>b__67(Expression expr)
at LinqToDB.Expressions.Extensions.Visit(Expression expr, Func`2 func)
at LinqToDB.Expressions.Extensions.Visit(Expression expr, Func`2 func)
at LinqToDB.Expressions.Extensions.Visit(Expression expr, Func`2 func)
at LinqToDB.Expressions.Extensions.Visit(Expression expr, Func`2 func)
at LinqToDB.Linq.Builder.ExpressionBuilder.CheckSubQueryForWhere(IBuildContext context, Expression expression, Boolean& makeHaving)
at LinqToDB.Linq.Builder.ExpressionBuilder.BuildWhere(IBuildContext parent, IBuildContext sequence, LambdaExpression condition, Boolean checkForSubQuery)
at LinqToDB.Linq.Builder.WhereBuilder.BuildMethodCall(ExpressionBuilder builder, MethodCallExpression methodCall, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.MethodCallBuilder.BuildSequence(ExpressionBuilder builder, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.ExpressionBuilder.BuildSequence(BuildInfo buildInfo)
at LinqToDB.Linq.Builder.DefaultIfEmptyBuilder.BuildMethodCall(ExpressionBuilder builder, MethodCallExpression methodCall, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.MethodCallBuilder.BuildSequence(ExpressionBuilder builder, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.ExpressionBuilder.BuildSequence(BuildInfo buildInfo)
at LinqToDB.Linq.Builder.SelectManyBuilder.BuildMethodCall(ExpressionBuilder builder, MethodCallExpression methodCall, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.MethodCallBuilder.BuildSequence(ExpressionBuilder builder, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.ExpressionBuilder.BuildSequence(BuildInfo buildInfo)
at LinqToDB.Linq.Builder.SelectManyBuilder.BuildMethodCall(ExpressionBuilder builder, MethodCallExpression methodCall, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.MethodCallBuilder.BuildSequence(ExpressionBuilder builder, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.ExpressionBuilder.BuildSequence(BuildInfo buildInfo)
at LinqToDB.Linq.Builder.WhereBuilder.BuildMethodCall(ExpressionBuilder builder, MethodCallExpression methodCall, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.MethodCallBuilder.BuildSequence(ExpressionBuilder builder, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.ExpressionBuilder.BuildSequence(BuildInfo buildInfo)
at LinqToDB.Linq.Builder.OrderByBuilder.BuildMethodCall(ExpressionBuilder builder, MethodCallExpression methodCall, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.MethodCallBuilder.BuildSequence(ExpressionBuilder builder, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.ExpressionBuilder.BuildSequence(BuildInfo buildInfo)
at LinqToDB.Linq.Builder.OrderByBuilder.BuildMethodCall(ExpressionBuilder builder, MethodCallExpression methodCall, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.MethodCallBuilder.BuildSequence(ExpressionBuilder builder, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.ExpressionBuilder.BuildSequence(BuildInfo buildInfo)
at LinqToDB.Linq.Builder.TakeSkipBuilder.BuildMethodCall(ExpressionBuilder builder, MethodCallExpression methodCall, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.MethodCallBuilder.BuildSequence(ExpressionBuilder builder, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.ExpressionBuilder.BuildSequence(BuildInfo buildInfo)
at LinqToDB.Linq.Builder.TakeSkipBuilder.BuildMethodCall(ExpressionBuilder builder, MethodCallExpression methodCall, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.MethodCallBuilder.BuildSequence(ExpressionBuilder builder, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.ExpressionBuilder.BuildSequence(BuildInfo buildInfo)
at LinqToDB.Linq.Builder.SelectBuilder.BuildMethodCall(ExpressionBuilder builder, MethodCallExpression methodCall, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.MethodCallBuilder.BuildSequence(ExpressionBuilder builder, BuildInfo buildInfo)
at LinqToDB.Linq.Builder.ExpressionBuilder.BuildSequence(BuildInfo buildInfo)
at LinqToDB.Linq.Builder.ExpressionBuilder.Build[T]()
at LinqToDB.Linq.Query`1.GetQuery(IDataContextInfo dataContextInfo, Expression expr)
at LinqToDB.Linq.ExpressionQuery`1.GetQuery(Expression expression, Boolean cache)
at LinqToDB.Linq.ExpressionQuery`1.Execute(IDataContextInfo dataContextInfo, Expression expression)
at LinqToDB.Linq.ExpressionQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at Torronto.BLL.TorrentService.GetTorrents(Nullable`1 userId, TorrentSearchParams search, PaginationParams pageParams) in c:\work\stuff\Torronto\Torronto\BLL\TorrentService.cs:line 110
at Torronto.Modules.TorrentsModule.Index(Object parameters) in c:\work\stuff\Torronto\Torronto\Modules\TorrentsModule.cs:line 30
at CallSite.Target(Closure , CallSite , Func`2 , Object )
at Nancy.Routing.Route.<>c__DisplayClass4.<Wrap>b__3(Object parameters, CancellationToken context)
//---------------------------------------------------------------------------------------------------
// This code was generated by LinqToDB.
//---------------------------------------------------------------------------------------------------
using System;
using System.Linq.Expressions;
using NUnit.Framework;
namespace Torronto.BLL
{
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
class <>c__DisplayClassc
{
public int? userId;
}
}
namespace Torronto.BLL
{
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
class <>c__DisplayClasse
{
public Torronto.DAL.DbTorronto db;
}
}
namespace Torronto.DAL
{
public class DbTorronto : LinqToDB.Data.DataConnection, LinqToDB.IDataContext, IDisposable, ICloneable
{
public LinqToDB.ITable<Torronto.DAL.Models.MovieUser> MovieUser { get; set; }
}
}
namespace Torronto.DAL.Models
{
[LinqToDB.Mapping.TableAttribute(Name = "movies")]
public class Movie
{
[LinqToDB.Mapping.ColumnAttribute(Name = "id")]
[LinqToDB.Mapping.IdentityAttribute()]
[LinqToDB.Mapping.PrimaryKeyAttribute()]
public int? ID { get; set; }
}
}
namespace Torronto.DAL.Models
{
[LinqToDB.Mapping.TableAttribute(Name = "movies_users")]
public class MovieUser
{
[LinqToDB.Mapping.ColumnAttribute(Name = "id")]
[LinqToDB.Mapping.IdentityAttribute()]
[LinqToDB.Mapping.PrimaryKeyAttribute()]
public int? ID { get; set; }
[LinqToDB.Mapping.NotNullAttribute()]
[LinqToDB.Mapping.ColumnAttribute(Name = "movie_id")]
public int MovieID { get; set; }
[LinqToDB.Mapping.ColumnAttribute(Name = "user_id")]
[LinqToDB.Mapping.NotNullAttribute()]
public int UserID { get; set; }
[LinqToDB.Mapping.ColumnAttribute(Name = "created")]
[LinqToDB.Mapping.NotNullAttribute()]
public DateTime Created { get; set; }
}
}
namespace Tests.UserTests
{
[TestFixture]
public class UserTest : TestBase
{
[Test]
public void Test([DataContexts] string context)
{
// value(LinqToDB.Linq.Table`1[Torronto.DAL.Models.Movie]).SelectMany(m => value(Torronto.BLL.MovieService+<>c__DisplayClasse).db.MovieUser.Where(x => ((Convert(x.MovieID) == m.ID) AndAlso (Convert(x.UserID) == value(Torronto.BLL.MovieService+<>c__DisplayClassc).userId))).DefaultIfEmpty(), (movie, movieUser) => new <>f__AnonymousType1`2(movie = movie, muUser = movieUser)).SelectMany(m => value(Torronto.BLL.MovieService+<>c__DisplayClasse).db.MovieUser.Where(x => ((Convert(x.MovieID) == m.movie.ID) AndAlso (x.UserID == -1))).DefaultIfEmpty(), (m, muSystem) => new <>f__AnonymousType2`4(M = m.movie, MuUser = m.muUser.ID, MuSystem = muSystem.ID, WlDate = m.muUser.Created)).Where(x => (x.MuUser != null)).OrderByDescending(x => x.WlDate)
using (var db = GetDataContext(context))
{
value(LinqToDB.Linq.Table`1[Torronto.DAL.Models.Movie])
.SelectMany(
(Torronto.DAL.Models.Movie m) => value(Torronto.BLL.MovieService+<>c__DisplayClasse).db.MovieUser
.Where<Torronto.DAL.Models.MovieUser>(
(Torronto.DAL.Models.MovieUser x) => (((int?)x.MovieID == m.ID) && ((int?)x.UserID == value(Torronto.BLL.MovieService+<>c__DisplayClassc).userId)))
.DefaultIfEmpty<Torronto.DAL.Models.MovieUser>(),
(Torronto.DAL.Models.Movie movie, Torronto.DAL.Models.MovieUser movieUser) => new
{
movie = movie,
muUser = movieUser
})
.SelectMany(
(m) => value(Torronto.BLL.MovieService+<>c__DisplayClasse).db.MovieUser
.Where<Torronto.DAL.Models.MovieUser>(
(Torronto.DAL.Models.MovieUser x) => (((int?)x.MovieID == m.movie.ID) && (x.UserID == -1)))
.DefaultIfEmpty<Torronto.DAL.Models.MovieUser>(),
(m, Torronto.DAL.Models.MovieUser muSystem) => new
{
M = m.movie,
MuUser = m.muUser.ID,
MuSystem = muSystem.ID,
WlDate = m.muUser.Created
})
.Where(
(x) => (x.MuUser != null))
.OrderByDescending(
(x) => x.WlDate);
}
}
}
}
//---------------------------------------------------------------------------------------------------
// This code was generated by LinqToDB.
//---------------------------------------------------------------------------------------------------
using System;
using System.Linq.Expressions;
using NUnit.Framework;
namespace Torronto.BLL
{
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
class <>c__DisplayClass5
{
public int? userId;
}
}
namespace Torronto.BLL
{
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
class <>c__DisplayClass7
{
public Torronto.DAL.DbTorronto db;
}
}
namespace Torronto.BLL
{
class TorrentJoin
{
public Torronto.DAL.Models.Torrent Torrent { get; set; }
public Torronto.DAL.Models.MovieUser MuWaitlist { get; set; }
public Torronto.DAL.Models.MovieUser MuSystemList { get; set; }
}
}
namespace Torronto.BLL.Models
{
public class TorrentItem
{
public Torronto.DAL.Models.Torrent Self { get; set; }
public bool InWaitList { get; set; }
public bool InSystemList { get; set; }
}
}
namespace Torronto.DAL
{
public class DbTorronto : LinqToDB.Data.DataConnection, LinqToDB.IDataContext, IDisposable, ICloneable
{
public LinqToDB.ITable<Torronto.DAL.Models.MovieUser> MovieUser { get; set; }
}
}
namespace Torronto.DAL.Models
{
[LinqToDB.Mapping.TableAttribute(Name = "movies_users")]
public class MovieUser
{
[LinqToDB.Mapping.NotNullAttribute()]
[LinqToDB.Mapping.ColumnAttribute(Name = "movie_id")]
public int MovieID { get; set; }
[LinqToDB.Mapping.ColumnAttribute(Name = "user_id")]
[LinqToDB.Mapping.NotNullAttribute()]
public int UserID { get; set; }
}
}
namespace Torronto.DAL.Models
{
[LinqToDB.Mapping.TableAttribute(Name = "torrents")]
public class Torrent
{
[LinqToDB.Mapping.PrimaryKeyAttribute()]
[LinqToDB.Mapping.ColumnAttribute(Name = "id")]
[LinqToDB.Mapping.IdentityAttribute()]
public int? ID { get; set; }
[LinqToDB.Mapping.ColumnAttribute(Name = "created")]
[LinqToDB.Mapping.NotNullAttribute()]
public DateTime Created { get; set; }
[LinqToDB.Mapping.ColumnAttribute(Name = "movie_id")]
[LinqToDB.Mapping.NullableAttribute()]
public int? MovieID { get; set; }
}
}
namespace Tests.UserTests
{
[TestFixture]
public class UserTest : TestBase
{
[Test]
public void Test([DataContexts] string context)
{
// value(LinqToDB.Linq.Table`1[Torronto.DAL.Models.Torrent]).SelectMany(t => value(Torronto.BLL.TorrentService+<>c__DisplayClass7).db.MovieUser.Where(mu => ((Convert(mu.MovieID) == t.MovieID) AndAlso (mu.UserID == -1))).DefaultIfEmpty(), (t, muSystemList) => new <>f__AnonymousType4`2(t = t, muSystemList = muSystemList)).SelectMany(<>h__TransparentIdentifier0 => value(Torronto.BLL.TorrentService+<>c__DisplayClass7).db.MovieUser.Where(mu => ((Convert(mu.MovieID) == <>h__TransparentIdentifier0.t.MovieID) AndAlso (Convert(mu.UserID) == value(Torronto.BLL.TorrentService+<>c__DisplayClass5).userId))).DefaultIfEmpty(), (<>h__TransparentIdentifier0, muWaitList) => new TorrentJoin() {Torrent = <>h__TransparentIdentifier0.t, MuWaitlist = muWaitList, MuSystemList = <>h__TransparentIdentifier0.muSystemList}).Where(x => (x.MuWaitlist != null)).OrderByDescending(x => x.Torrent.Created).ThenByDescending(x => x.Torrent.ID).Skip(0).Take(30).Select(x => new TorrentItem() {Self = x.Torrent, InWaitList = (x.MuWaitlist != null), InSystemList = (x.MuSystemList != null)})
using (var db = GetDataContext(context))
{
value(LinqToDB.Linq.Table`1[Torronto.DAL.Models.Torrent])
.SelectMany(
(Torronto.DAL.Models.Torrent t) => value(Torronto.BLL.TorrentService+<>c__DisplayClass7).db.MovieUser
.Where<Torronto.DAL.Models.MovieUser>(
(Torronto.DAL.Models.MovieUser mu) => (((int?)mu.MovieID == t.MovieID) && (mu.UserID == -1)))
.DefaultIfEmpty<Torronto.DAL.Models.MovieUser>(),
(Torronto.DAL.Models.Torrent t, Torronto.DAL.Models.MovieUser muSystemList) => new
{
t = t,
muSystemList = muSystemList
})
.SelectMany(
(tp0) => value(Torronto.BLL.TorrentService+<>c__DisplayClass7).db.MovieUser
.Where<Torronto.DAL.Models.MovieUser>(
(Torronto.DAL.Models.MovieUser mu) => (((int?)mu.MovieID == tp0.t.MovieID) && ((int?)mu.UserID == value(Torronto.BLL.TorrentService+<>c__DisplayClass5).userId)))
.DefaultIfEmpty<Torronto.DAL.Models.MovieUser>(),
(tp0, Torronto.DAL.Models.MovieUser muWaitList) => new Torronto.BLL.TorrentService+TorrentJoin()
{
Torrent = tp0.t,
MuWaitlist = muWaitList,
MuSystemList = tp0.muSystemList
})
.Where<Torronto.BLL.TorrentService+TorrentJoin>(
(Torronto.BLL.TorrentService+TorrentJoin x) => (x.MuWaitlist != null))
.OrderByDescending<Torronto.BLL.TorrentService+TorrentJoin,DateTime>(
(Torronto.BLL.TorrentService+TorrentJoin x) => x.Torrent.Created)
.ThenByDescending<Torronto.BLL.TorrentService+TorrentJoin,int?>(
(Torronto.BLL.TorrentService+TorrentJoin x) => x.Torrent.ID)
.Skip<Torronto.BLL.TorrentService+TorrentJoin>(
0)
.Take<Torronto.BLL.TorrentService+TorrentJoin>(
30)
.Select<Torronto.BLL.TorrentService+TorrentJoin,Torronto.BLL.Models.TorrentItem>(
(Torronto.BLL.TorrentService+TorrentJoin x) => new Torronto.BLL.Models.TorrentItem()
{
Self = x.Torrent,
InWaitList = (x.MuWaitlist != null),
InSystemList = (x.MuSystemList != null)
});
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment