Skip to content

Commit

Permalink
- 修复 IAdo.Query\<object\> 字段名重复的 bug;#162
Browse files Browse the repository at this point in the history
  • Loading branch information
28810 authored and 28810 committed Jan 3, 2020
1 parent c27b3fe commit f8e4e27
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 2 deletions.
24 changes: 24 additions & 0 deletions FreeSql.Tests/FreeSql.Tests/UnitTest3.cs
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,17 @@ public void Test03()

fsql = ib.Get("db3");
fsql.Select<ut3_t1>().Limit(10).ToList();

fsql = g.sqlserver;
fsql.Insert<OrderMain>(new OrderMain { OrderNo = "1001", OrderTime = new DateTime(2019, 12, 01) }).ExecuteAffrows();
fsql.Insert<OrderDetail>(new OrderDetail { OrderNo = "1001", ItemNo = "I001", Qty = 1 }).ExecuteAffrows();
fsql.Insert<OrderDetail>(new OrderDetail { OrderNo = "1001", ItemNo = "I002", Qty = 1 }).ExecuteAffrows();
fsql.Insert<OrderDetail>(new OrderDetail { OrderNo = "1001", ItemNo = "I003", Qty = 1 }).ExecuteAffrows();
fsql.Insert<OrderMain>(new OrderMain { OrderNo = "1002", OrderTime = new DateTime(2019, 12, 02) }).ExecuteAffrows();
fsql.Insert<OrderDetail>(new OrderDetail { OrderNo = "1002", ItemNo = "I011", Qty = 1 }).ExecuteAffrows();
fsql.Insert<OrderDetail>(new OrderDetail { OrderNo = "1002", ItemNo = "I012", Qty = 1 }).ExecuteAffrows();
fsql.Insert<OrderDetail>(new OrderDetail { OrderNo = "1002", ItemNo = "I013", Qty = 1 }).ExecuteAffrows();
fsql.Ado.Query<object>("select * from orderdetail left join ordermain on orderdetail.orderno=ordermain.orderno where ordermain.orderno='1001'");
}

class TestByte
Expand All @@ -106,6 +117,19 @@ class ut3_t2
public int id { get; set; }
public string name { get; set; }
}

public class OrderMain
{
public string OrderNo { get; set; }
public DateTime OrderTime { get; set; }
public decimal Amount { get; set; }
}
public class OrderDetail
{
public string OrderNo { get; set; }
public string ItemNo { get; set; }
public decimal Qty { get; set; }
}
}

}
8 changes: 6 additions & 2 deletions FreeSql/Internal/UtilsExpressionTree.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1331,8 +1331,12 @@ internal static RowInfo ExecuteArrayRowReadClassOrTuple(string flagStr, Type typ
var expandodic = new Dictionary<string, object>();// (IDictionary<string, object>)expando;
var fc = row2.FieldCount;
for (var a = 0; a < fc; a++)
//expando[row2.GetName(a)] = row2.GetValue(a);
expandodic.Add(row2.GetName(a), row2.GetValue(a));
{
var name = row2.GetName(a);
//expando[name] = row2.GetValue(a);
if (expandodic.ContainsKey(name)) continue;
expandodic.Add(name, row2.GetValue(a));
}
//expando = expandodic;
return new RowInfo(expandodic, fc);
};
Expand Down

0 comments on commit f8e4e27

Please sign in to comment.