Index: src/DbLinq/Data/Linq/Sugar/Implementation/DataRecordReader.cs
===================================================================
--- src/DbLinq/Data/Linq/Sugar/Implementation/DataRecordReader.cs	(revision 974)
+++ src/DbLinq/Data/Linq/Sugar/Implementation/DataRecordReader.cs	(working copy)
@@ -157,6 +157,11 @@
                 return (Expression<Func<IDataRecord, MappingContext, int, int?>>)((dataRecord, mappingContext, valueIndex)
                                                                                   => dataRecord.GetAsNullableNumeric<int>(valueIndex));
             }
+            if (simpleReturnType == typeof(System.Data.Linq.Binary))
+            {
+                return (Expression<Func<IDataRecord, MappingContext, int, byte[]>>)((dataRecord, mappingContext, valueIndex)
+                                                                                    => dataRecord.GetAsBytes(valueIndex));
+            }
             // for polymorphic types especially for ExecuteQuery<>()
             if (simpleReturnType == typeof(object))
             {
Index: src/DbLinq/Util/ExpressionEqualityComparer.cs
===================================================================
--- src/DbLinq/Util/ExpressionEqualityComparer.cs	(revision 974)
+++ src/DbLinq/Util/ExpressionEqualityComparer.cs	(working copy)
@@ -184,6 +184,8 @@
         /// <returns></returns>
         private bool Equals2<T>(IList<T> xs, IList<T> ys, Func<T, T, bool> equals2)
         {
+            if (xs == null || ys == null)
+                return false;
             if (xs.Count != ys.Count)
                 return false;
 
