Single BUG

This commit is contained in:
sunkaixuan 2017-09-04 11:27:11 +08:00
parent 7c90a60fbe
commit 64e59cda87
2 changed files with 10 additions and 6 deletions

View File

@ -170,7 +170,7 @@ namespace OrmTest.Demo
var getNew = db.Queryable<Student>().Where(it => it.Id == 1).Select(it => new { id = SqlFunc.IIF(it.Id == 0, 1, it.Id), it.Name, it.SchoolId }).ToList();
var getAllNoLock = db.Queryable<Student>().With(SqlWith.NoLock).ToList();
var getByPrimaryKey = db.Queryable<Student>().InSingle(2);
var getSingleOrDefault = db.Queryable<Student>().Single();
var getSingleOrDefault = db.Queryable<Student>().Where(it=>it.Id==1).Single();
var getFirstOrDefault = db.Queryable<Student>().First();
var getByWhere = db.Queryable<Student>().Where(it => it.Id == 1 || it.Name == "a").ToList();
var getByFuns = db.Queryable<Student>().Where(it => SqlFunc.IsNullOrEmpty(it.Name)).ToList();
@ -380,7 +380,7 @@ namespace OrmTest.Demo
{
var db = GetInstance();
db.IgnoreColumns.Add("TestId", "Student");
var s1 = db.Queryable<Student>().Select(it => new ViewModelStudent2 { Name = it.Name, Student = it }).ToList();
var s1 = db.Queryable<Student>().Where(it=>it.Id== 136915).Single();
var s2 = db.Queryable<Student>().Select(it => new { id = it.Id, w = new { x = it } }).ToList();
var s3 = db.Queryable<Student>().Select(it => new { newid = it.Id }).ToList();
var s4 = db.Queryable<Student>().Select(it => new { newid = it.Id, obj = it }).ToList();

View File

@ -333,15 +333,19 @@ namespace SqlSugar
QueryBuilder.OrderByValue = QueryBuilder.DefaultOrderByTemplate;
}
QueryBuilder.Skip = 0;
QueryBuilder.Take = 1;
QueryBuilder.Take = 2;
var reval = this.ToList();
if (reval.IsValuable())
if (reval == null || reval.Count == 0)
{
return reval.SingleOrDefault();
return default(T);
}
else if (reval.Count == 2) {
Check.Exception(true, ".Single() result must not exceed one . You can use.First()");
return default(T);
}
else
{
return default(T);
return reval.SingleOrDefault();
}
}
public virtual T Single(Expression<Func<T, bool>> expression)