diff --git a/Source/Samples/Yamo.Playground.CS/Model/Article.cs b/Source/Samples/Yamo.Playground.CS/Model/Article.cs index 2131494..90cde8e 100644 --- a/Source/Samples/Yamo.Playground.CS/Model/Article.cs +++ b/Source/Samples/Yamo.Playground.CS/Model/Article.cs @@ -15,5 +15,8 @@ class Article public Label Label { get; set; } public List Parts { get; set; } public List Categories { get; set; } + public decimal PriceWithDiscount { get; set; } + public string LabelDescription { get; set; } + public object Tag { get; set; } } } diff --git a/Source/Samples/Yamo.Playground.CS/Model/Category.cs b/Source/Samples/Yamo.Playground.CS/Model/Category.cs index d018f88..e4fa5c0 100644 --- a/Source/Samples/Yamo.Playground.CS/Model/Category.cs +++ b/Source/Samples/Yamo.Playground.CS/Model/Category.cs @@ -10,5 +10,7 @@ class Category { public int Id { get; set; } public Label Label { get; set; } + + public int ArticleCount { get; set; } } } diff --git a/Source/Samples/Yamo.Playground.CS/Program.cs b/Source/Samples/Yamo.Playground.CS/Program.cs index f825fe9..2d5e49f 100644 --- a/Source/Samples/Yamo.Playground.CS/Program.cs +++ b/Source/Samples/Yamo.Playground.CS/Program.cs @@ -67,7 +67,11 @@ static void Main(string[] args) //Test44(); //Test45(); //Test46(); - Test47(); + //Test47(); + Test48(); + Test49(); + Test50(); + Test51(); } public static MyContext CreateContext() @@ -847,7 +851,7 @@ public static void Test46() { using (var db = CreateContext()) { - var blog = new Blog() { Title = "Lorem ipsum", Content = ""}; + var blog = new Blog() { Title = "Lorem ipsum", Content = "" }; db.Insert().WithHints("WITH (TABLOCK)").Execute(blog); @@ -920,6 +924,55 @@ public static void Test47() //Assert.AreEqual(15, result3.Parts[2].Price); } } - } + public static void Test48() + { + using (var db = CreateContext()) + { + var list = db.From() + .LeftJoin(j => j.T1.Id == j.T2.CategoryId) + .GroupBy(j => j.T1) + .SelectAll() + .ExcludeT2() + .Include(j => j.T1.ArticleCount, j => Yamo.Sql.Aggregate.Count(j.T2.ArticleId)) + .ToList(); + } + } + + public static void Test49() + { + using (var db = CreateContext()) + { + var list = db.From
() + .SelectAll() + .Include(x => x.PriceWithDiscount, x => x.Price * 0.9m) + .ToList(); + } + } + public static void Test50() + { + using (var db = CreateContext()) + { + var list = db.From
() + .LeftJoin