public void joinManyGenSql() { using (var context = new BlocksEntities()) { var defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testEntity = defaultLinqQuery .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID, (TESTENTITY2 b) => b.Id); var default1Sql = defaultLinqQuery.ToString(); defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testLeftJoinEntity = defaultLinqQuery .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id); var default2Sql = defaultLinqQuery.ToString(); //Assert.NotEqual(testEntity.TESTENTITY2ID, newGuid); var testLeftJoin2Entity = defaultLinqQuery .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 t2) => t2.Id) .InnerJoin((TESTENTITY3 t3) => t3.Id, (TESTENTITY2 t2) => t2.Id) .SelectToList((TESTENTITY t, TESTENTITY2 t2, TESTENTITY3 t3) => new testDTO { Id = t.Id, Text = t2.Text, TESTENTITYID = t3.TESTENTITYID }); var default3Sql = defaultLinqQuery.ToString(); } }
public void selectGenSql() { using (var context = new BlocksEntities()) { var constKeyId = "123"; var defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testEntity = defaultLinqQuery.InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .SelectToDynamicList((TESTENTITY t) => new { Id = t.Id, TestEntity2 = new { Id = t.TESTENTITY2ID } }); var default1Sql = defaultLinqQuery.ToString(); var defaultLinqQuery1 = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testEntity1 = defaultLinqQuery1.InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .SelectToDynamicList((TESTENTITY t, TESTENTITY2 b) => new { Id = t.Id, TestEntity2 = new { Id = b.Id } }); var default1Sql1 = defaultLinqQuery1.ToString(); defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testLeftJoinEntity = defaultLinqQuery .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .Where((TESTENTITY2 t) => t.Id == constKeyId); var default2Sql = defaultLinqQuery.ToString(); //Assert.NotEqual(testEntity.TESTENTITY2ID, newGuid); } }
public void GetDataWithNoTrackingIsDetached_notCache_notUpdate() { var id = String.Empty; var newGuid = String.Empty; using (var context = new BlocksEntities()) { var testEntity = context.TestEntity.AsNoTracking().FirstOrDefault(); newGuid = Guid.NewGuid().ToString(); testEntity.TESTENTITY2ID = newGuid; var EntityEntry = context.Entry(testEntity); Assert.Equal(EntityEntry.State, EntityState.Detached); id = testEntity.Id; context.SaveChanges(); var newEntityNoTracking = context.TestEntity.AsNoTracking().FirstOrDefault(t => t.Id == id); Assert.NotEqual(newEntityNoTracking.TESTENTITY2ID, newGuid); var newEntity = context.TestEntity.FirstOrDefault(t => t.Id == id); Assert.NotEqual(newEntity.TESTENTITY2ID, newGuid); } using (var context = new BlocksEntities()) { var testEntity = context.TestEntity.AsNoTracking().FirstOrDefault(t => t.Id == id); Assert.NotEqual(testEntity.TESTENTITY2ID, newGuid); } }
public void pageGenSql() { using (var context = new BlocksEntities()) { var constKeyId = "123"; var defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testEntity = defaultLinqQuery.InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .Paging((TESTENTITY t) => new { Id = t.Id, TestEntity2 = new { Id = t.TESTENTITY2ID } }, new Data.Pager.Page() { page = 2, pageSize = 10, sortColumn = "Id", sortOrder = "asc" }); var default1Sql = defaultLinqQuery.iQuerable.ToSql(); var defaultLinqQuery1 = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testEntity1 = defaultLinqQuery1.InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .SelectToDynamicList((TESTENTITY t, TESTENTITY2 b) => new { Id = t.Id, TestEntity2 = new { Id = b.Id } }); var default1Sql1 = defaultLinqQuery1.iQuerable.ToSql(); defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testLeftJoinEntity = defaultLinqQuery .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .Where((TESTENTITY2 t) => t.Id == constKeyId); var default2Sql = defaultLinqQuery.iQuerable.ToSql(); //Assert.NotEqual(testEntity.TESTENTITY2ID, newGuid); } }
public async Task <object> testMethod(BlocksEntities context) { var obj = await new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context).InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .SelectToListAsync((TESTENTITY t) => new { Id = t.Id, TestEntity2 = new { Id = t.TESTENTITY2ID } }); return(obj); // return await context.TestEntity.Select(t => t.Id).ToListAsync(); }
public void DefaultConfigIsDetectChanges() { using (var context = new BlocksEntities()) { var testEntity = context.TestEntity.FirstOrDefault(); testEntity.TESTENTITY2ID = Guid.NewGuid().ToString(); Assert.Equal(context.Entry(testEntity).State, EntityState.Modified); } }
public void DoubleSingleOrDefault() { using (var context = new BlocksEntities()) { var id = Guid.NewGuid().ToString(); context.TestEntity.SingleOrDefault(t => t.Id == id); context.TestEntity.SingleOrDefault(t => t.Id == id); } }
public void DoubleFind() { using (var context = new BlocksEntities()) { Guid id = Guid.NewGuid(); context.TestEntity.Find(id); context.TestEntity.Find(id); } }
public void countGenSql() { using (var context = new BlocksEntities()) { var constKeyId = "123"; var defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testEntityLinq = defaultLinqQuery.InnerJoin((TESTENTITY t) => t.TESTENTITY2ID, (TESTENTITY2 b) => b.Id); var entityCount = testEntityLinq.Count(); var entityCount2 = testEntityLinq.SelectToDynamicList((TESTENTITY t, TESTENTITY2 b) => new{ t.TESTENTITY2ID, b.Id }); } }
public void whereMultTableGenSql() { using (var context = new BlocksEntities()) { var constKeyId = "123"; var defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testLeftJoinEntity = defaultLinqQuery .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .Where((TESTENTITY t, TESTENTITY2 b) => (t.Id == constKeyId) || (b.Id == constKeyId)); var default2Sql = defaultLinqQuery.ToString(); //Assert.NotEqual(testEntity.TESTENTITY2ID, newGuid); } }
public void joinWhere() { using (var context = new BlocksEntities()) { var defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testEntity = defaultLinqQuery .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID, (TESTENTITY2 b) => b.Id) .Where((TESTENTITY t) => t.TESTENTITY2ID == "123") .SelectToList((TESTENTITY b) => new TESTENTITY() { Id = b.Id }); } }
public void CloseAutoDetectAllModifyIsunchaned_ButCanManalDetect() { using (var context = new BlocksEntities(false)) { // context.Configuration.AutoDetectChangesEnabled = false; var testEntities = context.TestEntity.Take(2).ToList(); var newGuid = Guid.NewGuid().ToString(); testEntities[0].TESTENTITY2ID = newGuid; var dbEntry = context.Entry(testEntities[0]); Assert.Equal(dbEntry.State, EntityState.Unchanged); context.ChangeTracker.DetectChanges(); Assert.Equal(context.Entry(testEntities[0]).State, EntityState.Modified); } }
public async void selectToListAsync() { using (var context = new BlocksEntities()) { var testEntity = await new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context).InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .SelectToListAsync((TESTENTITY t) => new { Id = t.Id, TestEntity2 = new { Id = t.TESTENTITY2ID } }); IList <Task <object> > list = new List <Task <object> >(); for (int i = 0; i < 10; i++) { list.Add(testMethod(context)); } foreach (var task in list) { var bbbb = await testMethod(context); } } }
public void DefaultConfigIsDetectChanges() { using (var context = new BlocksEntities()) { // var ttt = context.TestEntity.GroupBy(t => new { t.ACTIVITY }).Where(t => t.Count() > 0).Select(a => new { a.Key.ACTIVITY, c = a.Count() }).ToList(); // var ttt = context.TestEntity.Join(context.TestEntity2,t => t.Id, t => t.Text,(t, t1) => new { t, t1 }).GroupBy(t => new { t.t.Id, t.t1.Text }).Where(t => t.Count() > 0).Select(a => new { a.Key.Id, c = a.Sum(s => s.t.IS_CHECK) }).ToList(); //var a = context.TestEntity.Where(t => t.Id == "61a8c4ca-7f3f-4688-834c-8524a817e046").OrderBy(t => new { t.Id, t.ISACTIVE }).ToArray(); //var b = context.TestEntity.Where(t => t.Id == "61a8c4ca-7f3f-4688-834c-8524a817e046").ToLinqToDB().Update(t1 => new TESTENTITY{ COLNUMINT = t1.COLNUMINT + 1 }); var testEntity = context.TestEntity.Skip(0).Take(1).FirstOrDefault(); testEntity.TESTENTITY2ID = Guid.NewGuid().ToString(); Assert.Equal(context.Entry(testEntity).State, EntityState.Modified); } }
public void TestMethod1() { using (var context = new BlocksEntities()) { //var linq = context.TestEntity // .Join(context.TestEntity3,t => t.Id, t=> t.TestEntityId, (a,b) => new testClass<TestEntity, TestEntity3> { TestEntity= a, TestEntity3 = b } ) // .Select(t => new { a= new { t.TestEntity.Id, t.TestEntity.TestEntity2ID },t.TestEntity3 }); //// var linq = context.AbpUsers.Join(context.AbpUsers, a => a.Id, expression,(a,b) => new {a.AbpUsers2, a.AbpUsers4, b}); //// var linq2 = linq.Join(contexdt.AbpUsers, a => expression.Compile()(a.AbpUsers4), b => b.Id, //// (a, b) => new {a.AbpUsers2, a.AbpUsers4, b}); //// var linq2 = context.AbpUsers.Join(linq, a => a.Id, b => b.b.CreatorUserId, (a, b) => new { a, b }) //// .Select(t => t.a); //var strLinq = linq.ToString(); //var dataLinq = linq.ToList(); } }
public void joinGenSql() { using (var context = new BlocksEntities()) { var defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testEntity = defaultLinqQuery .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID, (TESTENTITY2 b) => b.Id); var default1Sql = defaultLinqQuery.ToString(); defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testLeftJoinEntity = defaultLinqQuery .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id); var default2Sql = defaultLinqQuery.ToString(); //Assert.NotEqual(testEntity.TESTENTITY2ID, newGuid); var testLeftJoin2Entity = defaultLinqQuery .LeftJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id); var default3Sql = defaultLinqQuery.ToString(); } }
public void CloseAutoDetectAllModifyIsunchaned_ButCanManalDetect() { using (var context = new BlocksEntities(false)) { context.ChangeTracker.AutoDetectChangesEnabled = false; context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; // context.Configuration.AutoDetectChangesEnabled = false; var testEntities = context.TestEntity.Skip(0).Take(2).ToList(); var newGuid = Guid.NewGuid().ToString(); testEntities[0].TESTENTITY2ID = newGuid; var dbEntry = context.Entry(testEntities[0]); Assert.Equal(EntityState.Detached, dbEntry.State); context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.TrackAll; testEntities = context.TestEntity.Skip(0).Take(2).ToList(); Assert.Equal(EntityState.Unchanged, context.Entry(testEntities[0]).State); testEntities[0].COMMENT = "123"; context.ChangeTracker.DetectChanges(); Assert.Equal(EntityState.Modified, context.Entry(testEntities[0]).State); } }
public void joinGenSql() { using (var context = new BlocksEntities()) { var defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testEntity = defaultLinqQuery .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID, (TESTENTITY2 b) => b.Id) .SelectToList(); var default1Sql = defaultLinqQuery.ToString(); defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testLeftJoinEntity = defaultLinqQuery .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .SelectToList(); var default2Sql = defaultLinqQuery.ToString(); //Assert.NotEqual(testEntity.TESTENTITY2ID, newGuid); defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testLeftJoin2Entity = defaultLinqQuery .LeftJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .SelectToList(); var default3Sql = defaultLinqQuery.ToString(); defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testJoinWithMultiFieldsEntity = defaultLinqQuery .InnerJoin((TESTENTITY t) => new { Id = t.TESTENTITY2ID_NULLABLE, ISACTIVE = t.ISACTIVE }, (TESTENTITY2 b) => new { Id = b.Id, ISACTIVE = 0L }) .SelectToList(); var default4Sql = defaultLinqQuery.ToString(); defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); testJoinWithMultiFieldsEntity = defaultLinqQuery .InnerJoin((TESTENTITY t) => new { Id = t.TESTENTITY2ID_NULLABLE, ISACTIVE = t.ISACTIVE }, (TESTENTITY2 b) => new { Id = b.Id, ISACTIVE = b.DATAVERSION }) .SelectToList(); var default5Sql = defaultLinqQuery.ToString(); } }
public void GroupByGenSql() { using (var context = new BlocksEntities()) { var constKeyId = "123"; IEnumerable <TESTENTITY2> aList = new List <TESTENTITY2>(); IEnumerable <TESTENTITY> bList = new List <TESTENTITY>(); bList.Join(aList, k => k.TESTENTITY2ID, s => s.Id, (s, k) => new { s, k }).GroupBy(g => new { g.s.Id, g.k.Text }).Select(s => new { s.Key.Id, c = s.Sum(ttt => ttt.k.DATAVERSION) }); bList.GroupBy(g => new { g.Id, g.ISACTIVE }).OrderBy(t => new { t.Key, c = t.Count() }).Select(s => new { s.Key.Id, count = s.Count(t => t.Id != null) }); var defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); // var testEntity = defaultLinqQuery.GroupBy((TESTENTITY t) => new { t.ACTIVITY }).SelectToList<IEnumerable<TESTENTITY>, Dto>((key, testEntities) => new Dto { ACTIVITY = key.ACTIVITY, Count = (int)testEntities.Sum(t => t.ACTIVITY) }); // var default1Sql = defaultLinqQuery.ToString(); defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testLeftJoinEntity = defaultLinqQuery .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .Where((TESTENTITY2 b) => b.Id == constKeyId) .GroupBy((TESTENTITY t, TESTENTITY2 b) => new { t.Id, b.Text }) .SelectToList <IEnumerable <TESTENTITY>, Dto>((key, t) => new Dto { Text = key.Text, Count = (int)t.Sum(t => t.ISACTIVE) }); defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); testLeftJoinEntity = defaultLinqQuery .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .Where((TESTENTITY2 b) => b.Id == constKeyId) .OrderBy((TESTENTITY2 t) => t.CREATEDATE) .Take(10) .GroupBy((TESTENTITY t, TESTENTITY2 b) => new { t.Id, b.Text }) .SelectToList <IEnumerable <TESTENTITY>, Dto>((key, t) => new Dto { Text = key.Text, Count = (int)t.Sum(t => t.ISACTIVE) }); defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); testLeftJoinEntity = defaultLinqQuery .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .Where((TESTENTITY2 b) => b.Id == constKeyId) .GroupBy((TESTENTITY t, TESTENTITY2 b) => new { t.Id, b.Text }) .OrderBy <IEnumerable <TESTENTITY> >((key, t) => t.Count()) .ThenBy <IEnumerable <TESTENTITY2> >((key, b) => b.Sum(b => b.DATAVERSION)) .SelectToList <IEnumerable <TESTENTITY>, Dto>((key, t) => new Dto { Text = key.Text, Count = (int)t.Sum(t => t.ISACTIVE) }); defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); testLeftJoinEntity = defaultLinqQuery .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .Where((TESTENTITY2 b) => b.Id == constKeyId) .GroupBy((TESTENTITY t, TESTENTITY2 b) => new { t.Id, b.Text }) .Where <IEnumerable <TESTENTITY> >((key, t) => key.Id != null && t.Count() > 0) .OrderBy <IEnumerable <TESTENTITY> >((key, t) => t.Count()) .ThenBy <IEnumerable <TESTENTITY2> >((key, b) => b.Sum(b => b.DATAVERSION)) .SelectToList <IEnumerable <TESTENTITY>, Dto>((key, t) => new Dto { Text = key.Text, Count = (int)t.Sum(t => t.ISACTIVE) }); } }
public void orderByGenSql() { using (var context = new BlocksEntities()) { var constKeyId = "123"; var defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testEntity = defaultLinqQuery.OrderBy(t => t.Id); var default1Sql = defaultLinqQuery.ToString(); var defaultLinqQuery1 = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testEntity1 = defaultLinqQuery1.OrderBy(t => new { t.Id, t.TESTENTITY2ID }); var default1Sql1 = defaultLinqQuery1.ToString(); defaultLinqQuery = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testLeftJoinEntity = defaultLinqQuery .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .Where((TESTENTITY2 t) => t.Id == constKeyId) .OrderBy(t => t.Id); var default2Sql = defaultLinqQuery.ToString(); var defaultLinqQuery3 = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testLeftJoinEntity3 = defaultLinqQuery3 .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .Where((TESTENTITY t) => t.Id == constKeyId) .OrderBy(t => new { t.Id, t.TESTENTITY2ID }); var default3Sql = defaultLinqQuery3.ToString(); //Assert.NotEqual(testEntity.TESTENTITY2ID, newGuid); var defaultLinqQuery4 = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testLeftJoinEntity4 = defaultLinqQuery4 .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .Where((TESTENTITY t) => t.Id == constKeyId) .OrderByDescending(t => new { t.Id, t.TESTENTITY2ID }); var default4Sql = defaultLinqQuery4.ToString(); var defaultLinqQuery5 = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testLeftJoinEntity5 = defaultLinqQuery5 .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .Where((TESTENTITY t) => t.Id == constKeyId) .OrderBy(t => new { t.Id, t.TESTENTITY2ID }) .ThenBy(t => new { t.CREATER }); var default5Sql = defaultLinqQuery5.ToString(); var defaultLinqQuery6 = new DefaultLinqQueryable <TESTENTITY>(context.TestEntity.AsQueryable(), context); var testLeftJoinEntity6 = defaultLinqQuery6 .InnerJoin((TESTENTITY t) => t.TESTENTITY2ID_NULLABLE, (TESTENTITY2 b) => b.Id) .Where((TESTENTITY t) => t.Id == constKeyId) .OrderBy(t => new { t.Id, t.TESTENTITY2ID }) .ThenByDescending(t => new { t.CREATER }); var default6Sql = defaultLinqQuery6.ToString(); } }