mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 02:32:50 +08:00
- 修改 Query 查询的实体设置了 IsIgnore 时,可能出现 ET 读取位置偏移 bug;
This commit is contained in:
parent
79e21295c3
commit
5fe35f67e9
@ -32,6 +32,13 @@ namespace FreeSql.Tests.Sqlite {
|
|||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void Query() {
|
public void Query() {
|
||||||
|
|
||||||
|
var t0 = g.sqlite.Ado.Query<testallDto>("select * from \"song\"");
|
||||||
|
|
||||||
|
var t1 = g.sqlite.Ado.Query<testallDto>("select id, url, create_time from \"song\"");
|
||||||
|
|
||||||
|
var t2 = g.sqlite.Ado.Query<testallDto>("select id, url, create_time test_time from \"song\"");
|
||||||
|
|
||||||
var t3 = g.sqlite.Ado.Query<xxx>("select * from \"song\"");
|
var t3 = g.sqlite.Ado.Query<xxx>("select * from \"song\"");
|
||||||
|
|
||||||
var t4 = g.sqlite.Ado.Query<(int, string, string)>("select * from \"song\"");
|
var t4 = g.sqlite.Ado.Query<(int, string, string)>("select * from \"song\"");
|
||||||
@ -49,5 +56,14 @@ namespace FreeSql.Tests.Sqlite {
|
|||||||
public string Path { get; set; }
|
public string Path { get; set; }
|
||||||
public string Title2 { get; set; }
|
public string Title2 { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class testallDto {
|
||||||
|
public int Id { get; set; }
|
||||||
|
public string Title { get; set; }
|
||||||
|
public string Url { get; set; }
|
||||||
|
public DateTime Test_time { get; set; }
|
||||||
|
public DateTime Create_time { get; set; }
|
||||||
|
public bool Is_deleted { get; set; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netstandard2.0</TargetFramework>
|
<TargetFramework>netstandard2.0</TargetFramework>
|
||||||
<Version>0.5.15</Version>
|
<Version>0.5.16</Version>
|
||||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||||
<Authors>YeXiangQin</Authors>
|
<Authors>YeXiangQin</Authors>
|
||||||
<Description>FreeSql is the most convenient ORM in dotnet. It supports Mysql, Postgresql, SqlServer, Oracle and Sqlite.</Description>
|
<Description>FreeSql is the most convenient ORM in dotnet. It supports Mysql, Postgresql, SqlServer, Oracle and Sqlite.</Description>
|
||||||
|
@ -75,7 +75,12 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
if (isThrowException) throw e;
|
if (isThrowException) throw e;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal static ConcurrentDictionary<Type, PropertyInfo[]> dicQueryTypeGetProperties = new ConcurrentDictionary<Type, PropertyInfo[]>();
|
internal static ConcurrentDictionary<Type, Dictionary<string, PropertyInfo>> dicQueryTypeGetProperties = new ConcurrentDictionary<Type, Dictionary<string, PropertyInfo>>();
|
||||||
|
internal Dictionary<string, PropertyInfo> GetQueryTypeProperties(Type type) {
|
||||||
|
var tb = _util.GetTableByEntity(type);
|
||||||
|
var props = tb?.Properties ?? dicQueryTypeGetProperties.GetOrAdd(type, k => type.GetProperties().ToDictionary(a => a.Name, a => a, StringComparer.CurrentCultureIgnoreCase));
|
||||||
|
return props;
|
||||||
|
}
|
||||||
public List<T> Query<T>(string cmdText, object parms = null) => Query<T>(null, null, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
public List<T> Query<T>(string cmdText, object parms = null) => Query<T>(null, null, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
||||||
public List<T> Query<T>(DbTransaction transaction, string cmdText, object parms = null) => Query<T>(null, transaction, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
public List<T> Query<T>(DbTransaction transaction, string cmdText, object parms = null) => Query<T>(null, transaction, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
||||||
public List<T> Query<T>(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null) => Query<T>(connection, transaction, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
public List<T> Query<T>(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null) => Query<T>(connection, transaction, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
||||||
@ -87,7 +92,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
var type = typeof(T);
|
var type = typeof(T);
|
||||||
string flag = null;
|
string flag = null;
|
||||||
int[] indexes = null;
|
int[] indexes = null;
|
||||||
var props = dicQueryTypeGetProperties.GetOrAdd(type, k => type.GetProperties());
|
var props = GetQueryTypeProperties(type);
|
||||||
ExecuteReader(connection, transaction, dr => {
|
ExecuteReader(connection, transaction, dr => {
|
||||||
if (indexes == null) {
|
if (indexes == null) {
|
||||||
var sbflag = new StringBuilder().Append("query");
|
var sbflag = new StringBuilder().Append("query");
|
||||||
@ -97,7 +102,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes = props.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes = props.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag = sbflag.ToString();
|
flag = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret.Add((T)Utils.ExecuteArrayRowReadClassOrTuple(flag, type, indexes, dr, 0, _util).Value);
|
ret.Add((T)Utils.ExecuteArrayRowReadClassOrTuple(flag, type, indexes, dr, 0, _util).Value);
|
||||||
@ -116,13 +121,13 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
var type1 = typeof(T1);
|
var type1 = typeof(T1);
|
||||||
string flag1 = null;
|
string flag1 = null;
|
||||||
int[] indexes1 = null;
|
int[] indexes1 = null;
|
||||||
var props1 = dicQueryTypeGetProperties.GetOrAdd(type1, k => type1.GetProperties());
|
var props1 = GetQueryTypeProperties(type1);
|
||||||
|
|
||||||
var ret2 = new List<T2>();
|
var ret2 = new List<T2>();
|
||||||
var type2 = typeof(T2);
|
var type2 = typeof(T2);
|
||||||
string flag2 = null;
|
string flag2 = null;
|
||||||
int[] indexes2 = null;
|
int[] indexes2 = null;
|
||||||
var props2 = dicQueryTypeGetProperties.GetOrAdd(type2, k => type1.GetProperties());
|
var props2 = GetQueryTypeProperties(type2);
|
||||||
ExecuteReaderMultiple(2, connection, transaction, (dr, result) => {
|
ExecuteReaderMultiple(2, connection, transaction, (dr, result) => {
|
||||||
switch(result) {
|
switch(result) {
|
||||||
case 0:
|
case 0:
|
||||||
@ -134,7 +139,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes1 = props1.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes1 = props1.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag1 = sbflag.ToString();
|
flag1 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret1.Add((T1)Utils.ExecuteArrayRowReadClassOrTuple(flag1, type1, indexes1, dr, 0, _util).Value);
|
ret1.Add((T1)Utils.ExecuteArrayRowReadClassOrTuple(flag1, type1, indexes1, dr, 0, _util).Value);
|
||||||
@ -148,7 +153,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes2 = props2.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes2 = props2.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag2 = sbflag.ToString();
|
flag2 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret2.Add((T2)Utils.ExecuteArrayRowReadClassOrTuple(flag2, type2, indexes2, dr, 0, _util).Value);
|
ret2.Add((T2)Utils.ExecuteArrayRowReadClassOrTuple(flag2, type2, indexes2, dr, 0, _util).Value);
|
||||||
@ -169,19 +174,19 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
var type1 = typeof(T1);
|
var type1 = typeof(T1);
|
||||||
string flag1 = null;
|
string flag1 = null;
|
||||||
int[] indexes1 = null;
|
int[] indexes1 = null;
|
||||||
var props1 = dicQueryTypeGetProperties.GetOrAdd(type1, k => type1.GetProperties());
|
var props1 = GetQueryTypeProperties(type1);
|
||||||
|
|
||||||
var ret2 = new List<T2>();
|
var ret2 = new List<T2>();
|
||||||
var type2 = typeof(T2);
|
var type2 = typeof(T2);
|
||||||
string flag2 = null;
|
string flag2 = null;
|
||||||
int[] indexes2 = null;
|
int[] indexes2 = null;
|
||||||
var props2 = dicQueryTypeGetProperties.GetOrAdd(type2, k => type1.GetProperties());
|
var props2 = GetQueryTypeProperties(type2);
|
||||||
|
|
||||||
var ret3 = new List<T3>();
|
var ret3 = new List<T3>();
|
||||||
var type3 = typeof(T3);
|
var type3 = typeof(T3);
|
||||||
string flag3 = null;
|
string flag3 = null;
|
||||||
int[] indexes3 = null;
|
int[] indexes3 = null;
|
||||||
var props3 = dicQueryTypeGetProperties.GetOrAdd(type3, k => type1.GetProperties());
|
var props3 = GetQueryTypeProperties(type3);
|
||||||
ExecuteReaderMultiple(3, connection, transaction, (dr, result) => {
|
ExecuteReaderMultiple(3, connection, transaction, (dr, result) => {
|
||||||
switch (result) {
|
switch (result) {
|
||||||
case 0:
|
case 0:
|
||||||
@ -193,7 +198,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes1 = props1.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes1 = props1.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag1 = sbflag.ToString();
|
flag1 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret1.Add((T1)Utils.ExecuteArrayRowReadClassOrTuple(flag1, type1, indexes1, dr, 0, _util).Value);
|
ret1.Add((T1)Utils.ExecuteArrayRowReadClassOrTuple(flag1, type1, indexes1, dr, 0, _util).Value);
|
||||||
@ -207,7 +212,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes2 = props2.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes2 = props2.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag2 = sbflag.ToString();
|
flag2 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret2.Add((T2)Utils.ExecuteArrayRowReadClassOrTuple(flag2, type2, indexes2, dr, 0, _util).Value);
|
ret2.Add((T2)Utils.ExecuteArrayRowReadClassOrTuple(flag2, type2, indexes2, dr, 0, _util).Value);
|
||||||
@ -221,7 +226,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes3 = props3.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes3 = props3.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag3 = sbflag.ToString();
|
flag3 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret3.Add((T3)Utils.ExecuteArrayRowReadClassOrTuple(flag3, type3, indexes3, dr, 0, _util).Value);
|
ret3.Add((T3)Utils.ExecuteArrayRowReadClassOrTuple(flag3, type3, indexes3, dr, 0, _util).Value);
|
||||||
@ -242,25 +247,25 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
var type1 = typeof(T1);
|
var type1 = typeof(T1);
|
||||||
string flag1 = null;
|
string flag1 = null;
|
||||||
int[] indexes1 = null;
|
int[] indexes1 = null;
|
||||||
var props1 = dicQueryTypeGetProperties.GetOrAdd(type1, k => type1.GetProperties());
|
var props1 = GetQueryTypeProperties(type1);
|
||||||
|
|
||||||
var ret2 = new List<T2>();
|
var ret2 = new List<T2>();
|
||||||
var type2 = typeof(T2);
|
var type2 = typeof(T2);
|
||||||
string flag2 = null;
|
string flag2 = null;
|
||||||
int[] indexes2 = null;
|
int[] indexes2 = null;
|
||||||
var props2 = dicQueryTypeGetProperties.GetOrAdd(type2, k => type1.GetProperties());
|
var props2 = GetQueryTypeProperties(type2);
|
||||||
|
|
||||||
var ret3 = new List<T3>();
|
var ret3 = new List<T3>();
|
||||||
var type3 = typeof(T3);
|
var type3 = typeof(T3);
|
||||||
string flag3 = null;
|
string flag3 = null;
|
||||||
int[] indexes3 = null;
|
int[] indexes3 = null;
|
||||||
var props3 = dicQueryTypeGetProperties.GetOrAdd(type3, k => type1.GetProperties());
|
var props3 = GetQueryTypeProperties(type3);
|
||||||
|
|
||||||
var ret4 = new List<T4>();
|
var ret4 = new List<T4>();
|
||||||
var type4 = typeof(T4);
|
var type4 = typeof(T4);
|
||||||
string flag4 = null;
|
string flag4 = null;
|
||||||
int[] indexes4 = null;
|
int[] indexes4 = null;
|
||||||
var props4 = dicQueryTypeGetProperties.GetOrAdd(type4, k => type1.GetProperties());
|
var props4 = GetQueryTypeProperties(type4);
|
||||||
ExecuteReaderMultiple(4, connection, transaction, (dr, result) => {
|
ExecuteReaderMultiple(4, connection, transaction, (dr, result) => {
|
||||||
switch (result) {
|
switch (result) {
|
||||||
case 0:
|
case 0:
|
||||||
@ -272,7 +277,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes1 = props1.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes1 = props1.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag1 = sbflag.ToString();
|
flag1 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret1.Add((T1)Utils.ExecuteArrayRowReadClassOrTuple(flag1, type1, indexes1, dr, 0, _util).Value);
|
ret1.Add((T1)Utils.ExecuteArrayRowReadClassOrTuple(flag1, type1, indexes1, dr, 0, _util).Value);
|
||||||
@ -286,7 +291,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes2 = props2.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes2 = props2.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag2 = sbflag.ToString();
|
flag2 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret2.Add((T2)Utils.ExecuteArrayRowReadClassOrTuple(flag2, type2, indexes2, dr, 0, _util).Value);
|
ret2.Add((T2)Utils.ExecuteArrayRowReadClassOrTuple(flag2, type2, indexes2, dr, 0, _util).Value);
|
||||||
@ -300,7 +305,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes3 = props3.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes3 = props3.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag3 = sbflag.ToString();
|
flag3 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret3.Add((T3)Utils.ExecuteArrayRowReadClassOrTuple(flag3, type3, indexes3, dr, 0, _util).Value);
|
ret3.Add((T3)Utils.ExecuteArrayRowReadClassOrTuple(flag3, type3, indexes3, dr, 0, _util).Value);
|
||||||
@ -314,7 +319,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes4 = props4.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes4 = props4.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag4 = sbflag.ToString();
|
flag4 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret4.Add((T4)Utils.ExecuteArrayRowReadClassOrTuple(flag4, type4, indexes4, dr, 0, _util).Value);
|
ret4.Add((T4)Utils.ExecuteArrayRowReadClassOrTuple(flag4, type4, indexes4, dr, 0, _util).Value);
|
||||||
@ -335,31 +340,31 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
var type1 = typeof(T1);
|
var type1 = typeof(T1);
|
||||||
string flag1 = null;
|
string flag1 = null;
|
||||||
int[] indexes1 = null;
|
int[] indexes1 = null;
|
||||||
var props1 = dicQueryTypeGetProperties.GetOrAdd(type1, k => type1.GetProperties());
|
var props1 = GetQueryTypeProperties(type1);
|
||||||
|
|
||||||
var ret2 = new List<T2>();
|
var ret2 = new List<T2>();
|
||||||
var type2 = typeof(T2);
|
var type2 = typeof(T2);
|
||||||
string flag2 = null;
|
string flag2 = null;
|
||||||
int[] indexes2 = null;
|
int[] indexes2 = null;
|
||||||
var props2 = dicQueryTypeGetProperties.GetOrAdd(type2, k => type1.GetProperties());
|
var props2 = GetQueryTypeProperties(type2);
|
||||||
|
|
||||||
var ret3 = new List<T3>();
|
var ret3 = new List<T3>();
|
||||||
var type3 = typeof(T3);
|
var type3 = typeof(T3);
|
||||||
string flag3 = null;
|
string flag3 = null;
|
||||||
int[] indexes3 = null;
|
int[] indexes3 = null;
|
||||||
var props3 = dicQueryTypeGetProperties.GetOrAdd(type3, k => type1.GetProperties());
|
var props3 = GetQueryTypeProperties(type3);
|
||||||
|
|
||||||
var ret4 = new List<T4>();
|
var ret4 = new List<T4>();
|
||||||
var type4 = typeof(T4);
|
var type4 = typeof(T4);
|
||||||
string flag4 = null;
|
string flag4 = null;
|
||||||
int[] indexes4 = null;
|
int[] indexes4 = null;
|
||||||
var props4 = dicQueryTypeGetProperties.GetOrAdd(type4, k => type1.GetProperties());
|
var props4 = GetQueryTypeProperties(type4);
|
||||||
|
|
||||||
var ret5 = new List<T5>();
|
var ret5 = new List<T5>();
|
||||||
var type5 = typeof(T5);
|
var type5 = typeof(T5);
|
||||||
string flag5 = null;
|
string flag5 = null;
|
||||||
int[] indexes5 = null;
|
int[] indexes5 = null;
|
||||||
var props5 = dicQueryTypeGetProperties.GetOrAdd(type5, k => type1.GetProperties());
|
var props5 = GetQueryTypeProperties(type5);
|
||||||
ExecuteReaderMultiple(5, connection, transaction, (dr, result) => {
|
ExecuteReaderMultiple(5, connection, transaction, (dr, result) => {
|
||||||
switch (result) {
|
switch (result) {
|
||||||
case 0:
|
case 0:
|
||||||
@ -371,7 +376,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes1 = props1.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes1 = props1.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag1 = sbflag.ToString();
|
flag1 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret1.Add((T1)Utils.ExecuteArrayRowReadClassOrTuple(flag1, type1, indexes1, dr, 0, _util).Value);
|
ret1.Add((T1)Utils.ExecuteArrayRowReadClassOrTuple(flag1, type1, indexes1, dr, 0, _util).Value);
|
||||||
@ -385,7 +390,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes2 = props2.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes2 = props2.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag2 = sbflag.ToString();
|
flag2 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret2.Add((T2)Utils.ExecuteArrayRowReadClassOrTuple(flag2, type2, indexes2, dr, 0, _util).Value);
|
ret2.Add((T2)Utils.ExecuteArrayRowReadClassOrTuple(flag2, type2, indexes2, dr, 0, _util).Value);
|
||||||
@ -399,7 +404,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes3 = props3.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes3 = props3.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag3 = sbflag.ToString();
|
flag3 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret3.Add((T3)Utils.ExecuteArrayRowReadClassOrTuple(flag3, type3, indexes3, dr, 0, _util).Value);
|
ret3.Add((T3)Utils.ExecuteArrayRowReadClassOrTuple(flag3, type3, indexes3, dr, 0, _util).Value);
|
||||||
@ -413,7 +418,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes4 = props4.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes4 = props4.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag4 = sbflag.ToString();
|
flag4 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret4.Add((T4)Utils.ExecuteArrayRowReadClassOrTuple(flag4, type4, indexes4, dr, 0, _util).Value);
|
ret4.Add((T4)Utils.ExecuteArrayRowReadClassOrTuple(flag4, type4, indexes4, dr, 0, _util).Value);
|
||||||
@ -427,7 +432,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes5 = props5.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes5 = props5.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag5 = sbflag.ToString();
|
flag5 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret5.Add((T5)Utils.ExecuteArrayRowReadClassOrTuple(flag5, type5, indexes5, dr, 0, _util).Value);
|
ret5.Add((T5)Utils.ExecuteArrayRowReadClassOrTuple(flag5, type5, indexes5, dr, 0, _util).Value);
|
||||||
|
@ -20,7 +20,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
var type = typeof(T);
|
var type = typeof(T);
|
||||||
string flag = null;
|
string flag = null;
|
||||||
int[] indexes = null;
|
int[] indexes = null;
|
||||||
var props = dicQueryTypeGetProperties.GetOrAdd(type, k => type.GetProperties());
|
var props = GetQueryTypeProperties(type);
|
||||||
await ExecuteReaderAsync(connection, transaction, dr => {
|
await ExecuteReaderAsync(connection, transaction, dr => {
|
||||||
if (indexes == null) {
|
if (indexes == null) {
|
||||||
var sbflag = new StringBuilder().Append("query");
|
var sbflag = new StringBuilder().Append("query");
|
||||||
@ -30,7 +30,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes = props.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes = props.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag = sbflag.ToString();
|
flag = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret.Add((T)Utils.ExecuteArrayRowReadClassOrTuple(flag, type, indexes, dr, 0, _util).Value);
|
ret.Add((T)Utils.ExecuteArrayRowReadClassOrTuple(flag, type, indexes, dr, 0, _util).Value);
|
||||||
@ -50,13 +50,13 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
var type1 = typeof(T1);
|
var type1 = typeof(T1);
|
||||||
string flag1 = null;
|
string flag1 = null;
|
||||||
int[] indexes1 = null;
|
int[] indexes1 = null;
|
||||||
var props1 = dicQueryTypeGetProperties.GetOrAdd(type1, k => type1.GetProperties());
|
var props1 = GetQueryTypeProperties(type1);
|
||||||
|
|
||||||
var ret2 = new List<T2>();
|
var ret2 = new List<T2>();
|
||||||
var type2 = typeof(T2);
|
var type2 = typeof(T2);
|
||||||
string flag2 = null;
|
string flag2 = null;
|
||||||
int[] indexes2 = null;
|
int[] indexes2 = null;
|
||||||
var props2 = dicQueryTypeGetProperties.GetOrAdd(type2, k => type1.GetProperties());
|
var props2 = GetQueryTypeProperties(type2);
|
||||||
await ExecuteReaderMultipleAsync(2, connection, transaction, (dr, result) => {
|
await ExecuteReaderMultipleAsync(2, connection, transaction, (dr, result) => {
|
||||||
switch (result) {
|
switch (result) {
|
||||||
case 0:
|
case 0:
|
||||||
@ -68,7 +68,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes1 = props1.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes1 = props1.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag1 = sbflag.ToString();
|
flag1 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret1.Add((T1)Utils.ExecuteArrayRowReadClassOrTuple(flag1, type1, indexes1, dr, 0, _util).Value);
|
ret1.Add((T1)Utils.ExecuteArrayRowReadClassOrTuple(flag1, type1, indexes1, dr, 0, _util).Value);
|
||||||
@ -82,7 +82,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes2 = props2.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes2 = props2.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag2 = sbflag.ToString();
|
flag2 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret2.Add((T2)Utils.ExecuteArrayRowReadClassOrTuple(flag2, type2, indexes2, dr, 0, _util).Value);
|
ret2.Add((T2)Utils.ExecuteArrayRowReadClassOrTuple(flag2, type2, indexes2, dr, 0, _util).Value);
|
||||||
@ -104,19 +104,19 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
var type1 = typeof(T1);
|
var type1 = typeof(T1);
|
||||||
string flag1 = null;
|
string flag1 = null;
|
||||||
int[] indexes1 = null;
|
int[] indexes1 = null;
|
||||||
var props1 = dicQueryTypeGetProperties.GetOrAdd(type1, k => type1.GetProperties());
|
var props1 = GetQueryTypeProperties(type1);
|
||||||
|
|
||||||
var ret2 = new List<T2>();
|
var ret2 = new List<T2>();
|
||||||
var type2 = typeof(T2);
|
var type2 = typeof(T2);
|
||||||
string flag2 = null;
|
string flag2 = null;
|
||||||
int[] indexes2 = null;
|
int[] indexes2 = null;
|
||||||
var props2 = dicQueryTypeGetProperties.GetOrAdd(type2, k => type1.GetProperties());
|
var props2 = GetQueryTypeProperties(type2);
|
||||||
|
|
||||||
var ret3 = new List<T3>();
|
var ret3 = new List<T3>();
|
||||||
var type3 = typeof(T3);
|
var type3 = typeof(T3);
|
||||||
string flag3 = null;
|
string flag3 = null;
|
||||||
int[] indexes3 = null;
|
int[] indexes3 = null;
|
||||||
var props3 = dicQueryTypeGetProperties.GetOrAdd(type3, k => type1.GetProperties());
|
var props3 = GetQueryTypeProperties(type3);
|
||||||
await ExecuteReaderMultipleAsync(3, connection, transaction, (dr, result) => {
|
await ExecuteReaderMultipleAsync(3, connection, transaction, (dr, result) => {
|
||||||
switch (result) {
|
switch (result) {
|
||||||
case 0:
|
case 0:
|
||||||
@ -128,7 +128,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes1 = props1.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes1 = props1.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag1 = sbflag.ToString();
|
flag1 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret1.Add((T1)Utils.ExecuteArrayRowReadClassOrTuple(flag1, type1, indexes1, dr, 0, _util).Value);
|
ret1.Add((T1)Utils.ExecuteArrayRowReadClassOrTuple(flag1, type1, indexes1, dr, 0, _util).Value);
|
||||||
@ -142,7 +142,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes2 = props2.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes2 = props2.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag2 = sbflag.ToString();
|
flag2 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret2.Add((T2)Utils.ExecuteArrayRowReadClassOrTuple(flag2, type2, indexes2, dr, 0, _util).Value);
|
ret2.Add((T2)Utils.ExecuteArrayRowReadClassOrTuple(flag2, type2, indexes2, dr, 0, _util).Value);
|
||||||
@ -156,7 +156,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes3 = props3.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes3 = props3.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag3 = sbflag.ToString();
|
flag3 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret3.Add((T3)Utils.ExecuteArrayRowReadClassOrTuple(flag3, type3, indexes3, dr, 0, _util).Value);
|
ret3.Add((T3)Utils.ExecuteArrayRowReadClassOrTuple(flag3, type3, indexes3, dr, 0, _util).Value);
|
||||||
@ -178,25 +178,25 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
var type1 = typeof(T1);
|
var type1 = typeof(T1);
|
||||||
string flag1 = null;
|
string flag1 = null;
|
||||||
int[] indexes1 = null;
|
int[] indexes1 = null;
|
||||||
var props1 = dicQueryTypeGetProperties.GetOrAdd(type1, k => type1.GetProperties());
|
var props1 = GetQueryTypeProperties(type1);
|
||||||
|
|
||||||
var ret2 = new List<T2>();
|
var ret2 = new List<T2>();
|
||||||
var type2 = typeof(T2);
|
var type2 = typeof(T2);
|
||||||
string flag2 = null;
|
string flag2 = null;
|
||||||
int[] indexes2 = null;
|
int[] indexes2 = null;
|
||||||
var props2 = dicQueryTypeGetProperties.GetOrAdd(type2, k => type1.GetProperties());
|
var props2 = GetQueryTypeProperties(type2);
|
||||||
|
|
||||||
var ret3 = new List<T3>();
|
var ret3 = new List<T3>();
|
||||||
var type3 = typeof(T3);
|
var type3 = typeof(T3);
|
||||||
string flag3 = null;
|
string flag3 = null;
|
||||||
int[] indexes3 = null;
|
int[] indexes3 = null;
|
||||||
var props3 = dicQueryTypeGetProperties.GetOrAdd(type3, k => type1.GetProperties());
|
var props3 = GetQueryTypeProperties(type3);
|
||||||
|
|
||||||
var ret4 = new List<T4>();
|
var ret4 = new List<T4>();
|
||||||
var type4 = typeof(T4);
|
var type4 = typeof(T4);
|
||||||
string flag4 = null;
|
string flag4 = null;
|
||||||
int[] indexes4 = null;
|
int[] indexes4 = null;
|
||||||
var props4 = dicQueryTypeGetProperties.GetOrAdd(type4, k => type1.GetProperties());
|
var props4 = GetQueryTypeProperties(type4);
|
||||||
await ExecuteReaderMultipleAsync(4, connection, transaction, (dr, result) => {
|
await ExecuteReaderMultipleAsync(4, connection, transaction, (dr, result) => {
|
||||||
switch (result) {
|
switch (result) {
|
||||||
case 0:
|
case 0:
|
||||||
@ -208,7 +208,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes1 = props1.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes1 = props1.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag1 = sbflag.ToString();
|
flag1 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret1.Add((T1)Utils.ExecuteArrayRowReadClassOrTuple(flag1, type1, indexes1, dr, 0, _util).Value);
|
ret1.Add((T1)Utils.ExecuteArrayRowReadClassOrTuple(flag1, type1, indexes1, dr, 0, _util).Value);
|
||||||
@ -222,7 +222,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes2 = props2.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes2 = props2.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag2 = sbflag.ToString();
|
flag2 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret2.Add((T2)Utils.ExecuteArrayRowReadClassOrTuple(flag2, type2, indexes2, dr, 0, _util).Value);
|
ret2.Add((T2)Utils.ExecuteArrayRowReadClassOrTuple(flag2, type2, indexes2, dr, 0, _util).Value);
|
||||||
@ -236,7 +236,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes3 = props3.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes3 = props3.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag3 = sbflag.ToString();
|
flag3 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret3.Add((T3)Utils.ExecuteArrayRowReadClassOrTuple(flag3, type3, indexes3, dr, 0, _util).Value);
|
ret3.Add((T3)Utils.ExecuteArrayRowReadClassOrTuple(flag3, type3, indexes3, dr, 0, _util).Value);
|
||||||
@ -250,7 +250,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes4 = props4.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes4 = props4.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag4 = sbflag.ToString();
|
flag4 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret4.Add((T4)Utils.ExecuteArrayRowReadClassOrTuple(flag4, type4, indexes4, dr, 0, _util).Value);
|
ret4.Add((T4)Utils.ExecuteArrayRowReadClassOrTuple(flag4, type4, indexes4, dr, 0, _util).Value);
|
||||||
@ -272,31 +272,31 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
var type1 = typeof(T1);
|
var type1 = typeof(T1);
|
||||||
string flag1 = null;
|
string flag1 = null;
|
||||||
int[] indexes1 = null;
|
int[] indexes1 = null;
|
||||||
var props1 = dicQueryTypeGetProperties.GetOrAdd(type1, k => type1.GetProperties());
|
var props1 = GetQueryTypeProperties(type1);
|
||||||
|
|
||||||
var ret2 = new List<T2>();
|
var ret2 = new List<T2>();
|
||||||
var type2 = typeof(T2);
|
var type2 = typeof(T2);
|
||||||
string flag2 = null;
|
string flag2 = null;
|
||||||
int[] indexes2 = null;
|
int[] indexes2 = null;
|
||||||
var props2 = dicQueryTypeGetProperties.GetOrAdd(type2, k => type1.GetProperties());
|
var props2 = GetQueryTypeProperties(type2);
|
||||||
|
|
||||||
var ret3 = new List<T3>();
|
var ret3 = new List<T3>();
|
||||||
var type3 = typeof(T3);
|
var type3 = typeof(T3);
|
||||||
string flag3 = null;
|
string flag3 = null;
|
||||||
int[] indexes3 = null;
|
int[] indexes3 = null;
|
||||||
var props3 = dicQueryTypeGetProperties.GetOrAdd(type3, k => type1.GetProperties());
|
var props3 = GetQueryTypeProperties(type3);
|
||||||
|
|
||||||
var ret4 = new List<T4>();
|
var ret4 = new List<T4>();
|
||||||
var type4 = typeof(T4);
|
var type4 = typeof(T4);
|
||||||
string flag4 = null;
|
string flag4 = null;
|
||||||
int[] indexes4 = null;
|
int[] indexes4 = null;
|
||||||
var props4 = dicQueryTypeGetProperties.GetOrAdd(type4, k => type1.GetProperties());
|
var props4 = GetQueryTypeProperties(type4);
|
||||||
|
|
||||||
var ret5 = new List<T5>();
|
var ret5 = new List<T5>();
|
||||||
var type5 = typeof(T5);
|
var type5 = typeof(T5);
|
||||||
string flag5 = null;
|
string flag5 = null;
|
||||||
int[] indexes5 = null;
|
int[] indexes5 = null;
|
||||||
var props5 = dicQueryTypeGetProperties.GetOrAdd(type5, k => type1.GetProperties());
|
var props5 = GetQueryTypeProperties(type5);
|
||||||
await ExecuteReaderMultipleAsync(5, connection, transaction, (dr, result) => {
|
await ExecuteReaderMultipleAsync(5, connection, transaction, (dr, result) => {
|
||||||
switch (result) {
|
switch (result) {
|
||||||
case 0:
|
case 0:
|
||||||
@ -308,7 +308,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes1 = props1.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes1 = props1.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag1 = sbflag.ToString();
|
flag1 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret1.Add((T1)Utils.ExecuteArrayRowReadClassOrTuple(flag1, type1, indexes1, dr, 0, _util).Value);
|
ret1.Add((T1)Utils.ExecuteArrayRowReadClassOrTuple(flag1, type1, indexes1, dr, 0, _util).Value);
|
||||||
@ -322,7 +322,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes2 = props2.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes2 = props2.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag2 = sbflag.ToString();
|
flag2 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret2.Add((T2)Utils.ExecuteArrayRowReadClassOrTuple(flag2, type2, indexes2, dr, 0, _util).Value);
|
ret2.Add((T2)Utils.ExecuteArrayRowReadClassOrTuple(flag2, type2, indexes2, dr, 0, _util).Value);
|
||||||
@ -336,7 +336,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes3 = props3.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes3 = props3.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag3 = sbflag.ToString();
|
flag3 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret3.Add((T3)Utils.ExecuteArrayRowReadClassOrTuple(flag3, type3, indexes3, dr, 0, _util).Value);
|
ret3.Add((T3)Utils.ExecuteArrayRowReadClassOrTuple(flag3, type3, indexes3, dr, 0, _util).Value);
|
||||||
@ -350,7 +350,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes4 = props4.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes4 = props4.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag4 = sbflag.ToString();
|
flag4 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret4.Add((T4)Utils.ExecuteArrayRowReadClassOrTuple(flag4, type4, indexes4, dr, 0, _util).Value);
|
ret4.Add((T4)Utils.ExecuteArrayRowReadClassOrTuple(flag4, type4, indexes4, dr, 0, _util).Value);
|
||||||
@ -364,7 +364,7 @@ namespace FreeSql.Internal.CommonProvider {
|
|||||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||||
dic.Add(name, a);
|
dic.Add(name, a);
|
||||||
}
|
}
|
||||||
indexes5 = props5.Select(a => dic.TryGetValue(a.Name, out var tryint) ? tryint : -1).ToArray();
|
indexes5 = props5.Select(a => dic.TryGetValue(a.Key, out var tryint) ? tryint : -1).ToArray();
|
||||||
flag5 = sbflag.ToString();
|
flag5 = sbflag.ToString();
|
||||||
}
|
}
|
||||||
ret5.Add((T5)Utils.ExecuteArrayRowReadClassOrTuple(flag5, type5, indexes5, dr, 0, _util).Value);
|
ret5.Add((T5)Utils.ExecuteArrayRowReadClassOrTuple(flag5, type5, indexes5, dr, 0, _util).Value);
|
||||||
|
@ -941,7 +941,10 @@ namespace FreeSql.Internal {
|
|||||||
var props = type.GetProperties();//.ToDictionary(a => a.Name, a => a, StringComparer.CurrentCultureIgnoreCase);
|
var props = type.GetProperties();//.ToDictionary(a => a.Name, a => a, StringComparer.CurrentCultureIgnoreCase);
|
||||||
var propIndex = 0;
|
var propIndex = 0;
|
||||||
foreach (var prop in props) {
|
foreach (var prop in props) {
|
||||||
if (typetb.ColumnsByCsIgnore.ContainsKey(prop.Name)) continue;
|
if (typetb.ColumnsByCsIgnore.ContainsKey(prop.Name)) {
|
||||||
|
++propIndex;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
var readType = typetb.ColumnsByCs.TryGetValue(prop.Name, out var trycol) ? trycol.Attribute.MapType : prop.PropertyType;
|
var readType = typetb.ColumnsByCs.TryGetValue(prop.Name, out var trycol) ? trycol.Attribute.MapType : prop.PropertyType;
|
||||||
|
|
||||||
var ispkExp = new List<Expression>();
|
var ispkExp = new List<Expression>();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user