Update Demo

This commit is contained in:
sunkaixuan 2019-05-09 17:55:11 +08:00
parent 1f95424465
commit 617a6013f6
6 changed files with 66 additions and 4 deletions

View File

@ -54,7 +54,7 @@ namespace OrmTest
DbContext context = new DbContext();
context.Db.CodeFirst.InitTables<Order, OrderItem>();//Create Tables
context.Db.CodeFirst.InitTables<Order, OrderItem,Custom>();//Create Tables
;
var orderDb = context.OrderDb;

View File

@ -12,9 +12,40 @@ namespace OrmTest
public static void Init()
{
ConditionScreening();
JoinTable();
Async();
}
private static void JoinTable()
{
Console.WriteLine("");
Console.WriteLine("#### Join Table Start ####");
var db = GetInstance();
//Simple join
var list = db.Queryable<Order, OrderItem, Custom>((o, i, c) => o.Id == i.OrderId&&c.Id == o.CustomId)
.Select<ViewOrder>()
.ToList();
//Join table
var list2 = db.Queryable<Order, OrderItem, Custom>((o, i, c) => new JoinQueryInfos(
JoinType.Left, o.Id == i.OrderId,
JoinType.Left, c.Id == o.CustomId
))
.Select<ViewOrder>().ToList();
//Join queryable
var query1 = db.Queryable<Order, OrderItem>((o, i) => new object[] {
JoinType.Left, o.Id == i.OrderId,
})
.Where(o => o.Name == "jack");
var query2 = db.Queryable<Custom>();
var list3=db.Queryable(query1, query2,JoinType.Left, (p1, p2) => p1.CustomId == p2.Id).Select<ViewOrder>().ToList();
Console.WriteLine("#### Join Table End ####");
}
private static void ConditionScreening()
{
Console.WriteLine("");
@ -42,7 +73,7 @@ namespace OrmTest
//id=@id
var list4 = db.Queryable<Order>().Where("id=@id", new { id = 1 }).ToList();
//id=@id or name like '%'+@name+'%'
var list5 = db.Queryable<Order>().Where("id=@id or name like '%'+@name+'%' ",new { id=1,name="jack"}).ToList();
var list5 = db.Queryable<Order>().Where("id=@id or name like '%'+@name+'%' ", new { id = 1, name = "jack" }).ToList();
@ -78,7 +109,7 @@ namespace OrmTest
// use whereif
string name = "";
int id =1;
int id = 1;
var query = db.Queryable<Order>()
.WhereIF(!string.IsNullOrEmpty(name), it => it.Name.Contains(name))
.WhereIF(id > 0, it => it.Id == id).ToList();

View File

@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OrmTest
{
public class Custom
{
public int Id { get; set; }
public string Name { get; set; }
}
}

View File

@ -13,7 +13,9 @@ namespace OrmTest
public string Name { get; set; }
public decimal Price { get; set; }
[SqlSugar.SugarColumn(IsNullable =true)]
[SqlSugar.SugarColumn(IsNullable = true)]
public DateTime CreateTime { get; set; }
[SqlSugar.SugarColumn(IsNullable =true)]
public int CustomId { get; set; }
}
}

View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OrmTest
{
public class ViewOrder:Order
{
public string CustomName { get; set; }
}
}

View File

@ -55,10 +55,12 @@
<Compile Include="Demo\Demo1_Queryable.cs" />
<Compile Include="Demo\DemoD_DbFirst.cs" />
<Compile Include="Demo\DemoE_CodeFirst.cs" />
<Compile Include="Models\Custom.cs" />
<Compile Include="Models\MyCustomAttributeTable.cs" />
<Compile Include="Models\Order.cs" />
<Compile Include="Models\OrderItem.cs" />
<Compile Include="Demo\Demo0_SqlSugarClient.cs" />
<Compile Include="Models\ViewOrder.cs" />
<Compile Include="OldTest\BugTest\Bug2.cs" />
<Compile Include="OldTest\BugTest\BugModels\AccountsModel.cs" />
<Compile Include="OldTest\BugTest\BugModels\ClientsModel.cs" />