Update SubQuery

This commit is contained in:
sunkaixuan
2017-11-23 11:24:29 +08:00
parent d861bca078
commit 457df6b147
5 changed files with 47 additions and 11 deletions

View File

@@ -508,6 +508,8 @@ namespace OrmTest.Demo
.OrderBy((st, sc) => st.SchoolId)
.Select((st, sc) => sc)
.Take(1).ToList();
var s9 = db.Queryable<Student>().Select(it=>it.Name).First();
}
private static void Sqlable()
{

View File

@@ -67,10 +67,7 @@ namespace OrmTest.Demo
var count = db.Updateable<Student>().UpdateColumns(it => it.SchoolId == 1).Where(it => it.Id == 1).ExecuteCommand();
var t13 = db.Updateable<Student>().UpdateColumns(it => new Student() {
SchoolId = SqlFunc.Subqueryable<School>().Where(s=>s.Id==it.SchoolId).Select(s=>s.Id),
Name="newname"
}).Where(it => it.Id == 1).ExecuteCommand();
}
}
}

View File

@@ -164,6 +164,24 @@ namespace OrmTest.UnitTest
var t15 = db.Updateable(new StudentTest() { Id = 1, Name = "1" }).AS("student").ToSql();
base.Check(@"UPDATE [student] SET
[SchoolId]=@SchoolId,[Name]=@Name,[CreateTime]=@CreateTime WHERE [Id]=@Id", null, t15.Key, null, "Update t15 error");
var t16= db.Updateable<Student>().UpdateColumns(it => new Student()
{
SchoolId = SqlFunc.Subqueryable<School>().Where(s => s.Id == it.SchoolId).Select(s => s.Id),
Name = "newname"
}).Where(it => it.Id == 1).ToSql();
var t17 = db.Updateable<Student>().UpdateColumns(it => new Student()
{
SchoolId = SqlFunc.Subqueryable<School>().Where(s => s.Id == it.SchoolId).Select(s => s.Id),
Name = "newname"
}).Where(it => it.Id == 1).ToSql();
base.Check(@"UPDATE [STudent] SET
[SchoolId] = (SELECT TOP 1 [Id] FROM [School] WHERE ( [Id] =[STudent].[SchoolId] )) , [Name] = @Const0 WHERE ( [ID] = @Id1 )", new List<SugarParameter>() {
new SugarParameter("@Const0","newname"),
new SugarParameter("@Id1","1")
}, t17.Key, t17.Value, "Update t17 error");
}
}