Can someone explain why this fails with a "System.ArgumentException:
MemberAccess" exception:

    List<byte[]> document = (from d in db.DocumentBlobs
        where d.DocumentBlobID == Request.QueryString["id"]
        select d.Blob).ToList();

but why the following works just fine?

    string qs = Request.QueryString["id"];

    List<byte[]> document = (from d in db.DocumentBlobs
        where d.DocumentBlobID == qs
        select d.Blob).ToList();


The stack trace for the exception on the first block of code above is:

[ArgumentException: MemberAccess]
   DbLinq.Vendor.Implementation.SqlProvider.GetLiteral(ExpressionType
operationType, IList`1 p) in z:\Development\DbLinq-0.20.1\src\DbLinq
\Vendor\Implementation\SqlProvider.cs:314
 
DbLinq.Data.Linq.Sugar.Implementation.SqlBuilder.BuildExpression(Expression
expression, QueryContext queryContext) in z:\Development
\DbLinq-0.20.1\src\DbLinq\Data\Linq\Sugar\Implementation\SqlBuilder.cs:
244
 
DbLinq.Data.Linq.Sugar.Implementation.SqlBuilder.BuildExpression(Expression
expression, QueryContext queryContext) in z:\Development
\DbLinq-0.20.1\src\DbLinq\Data\Linq\Sugar\Implementation\SqlBuilder.cs:
168
 
DbLinq.Data.Linq.Sugar.Implementation.SqlBuilder.BuildExpression(Expression
expression, QueryContext queryContext) in z:\Development
\DbLinq-0.20.1\src\DbLinq\Data\Linq\Sugar\Implementation\SqlBuilder.cs:
168
   DbLinq.Data.Linq.Sugar.Implementation.SqlBuilder.BuildWhere(IList`1
tables, IList`1 wheres, QueryContext queryContext) in z:\Development
\DbLinq-0.20.1\src\DbLinq\Data\Linq\Sugar\Implementation\SqlBuilder.cs:
395
 
DbLinq.Data.Linq.Sugar.Implementation.SqlBuilder.Build(SelectExpression
selectExpression, QueryContext queryContext) in z:\Development
\DbLinq-0.20.1\src\DbLinq\Data\Linq\Sugar\Implementation\SqlBuilder.cs:
126
 
DbLinq.Data.Linq.Sugar.Implementation.SqlBuilder.BuildSelect(ExpressionQuery
expressionQuery, QueryContext queryContext) in z:\Development
\DbLinq-0.20.1\src\DbLinq\Data\Linq\Sugar\Implementation\SqlBuilder.cs:
59
 
DbLinq.Data.Linq.Sugar.Implementation.QueryBuilder.BuildSqlQuery(ExpressionQuery
expressionQuery, QueryContext queryContext) in z:\Development
\DbLinq-0.20.1\src\DbLinq\Data\Linq\Sugar\Implementation
\QueryBuilder.cs:337
 
DbLinq.Data.Linq.Sugar.Implementation.QueryBuilder.GetSelectQuery(ExpressionChain
expressions, QueryContext queryContext) in z:\Development
\DbLinq-0.20.1\src\DbLinq\Data\Linq\Sugar\Implementation
\QueryBuilder.cs:397
   DbLinq.Data.Linq.Implementation.QueryProvider`1.GetQuery(Expression
expression) in z:\Development\DbLinq-0.20.1\src\DbLinq\Data\Linq
\Implementation\QueryProvider.cs:165
   DbLinq.Data.Linq.Implementation.QueryProvider`1.GetEnumerator() in
z:\Development\DbLinq-0.20.1\src\DbLinq\Data\Linq\Implementation
\QueryProvider.cs:215
   System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
+315
   System.Linq.Enumerable.ToList(IEnumerable`1 source) +58
   DocManager.GetDocument.Page_Load(Object sender, EventArgs e) in C:
\data\source\DocManager\DocManager\GetDocument.aspx.cs:24
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,
Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object
sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +91
   System.Web.UI.Control.LoadRecursive() +74
   System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
+2207

-- 
You received this message because you are subscribed to the Google Groups 
"DbLinq" 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/dblinq?hl=en.

Reply via email to