Last active
August 29, 2015 14:05
-
-
Save evilbloodydemon/7ecdba48c8ad776884f7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //--------------------------------------------------------------------------------------------------- | |
| // 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 file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //--------------------------------------------------------------------------------------------------- | |
| // 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