mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-10-15 18:55:07 +08:00
-
This commit is contained in:
@@ -38,6 +38,7 @@ namespace OrmTest.UnitTest
|
|||||||
|
|
||||||
#region dr ot entity
|
#region dr ot entity
|
||||||
db.IgnoreComumns.Add("TestId", "Student");
|
db.IgnoreComumns.Add("TestId", "Student");
|
||||||
|
var d5 = db.Queryable<Student>().ToList();
|
||||||
var dr3 = db.Queryable<Student>().Select(it => new ViewModelStudent2 { Name=it.Name,Student=it}).ToList();
|
var dr3 = db.Queryable<Student>().Select(it => new ViewModelStudent2 { Name=it.Name,Student=it}).ToList();
|
||||||
var dr0 = db.Queryable<Student>().Select(it => new { id=it.Id,w=new { x=it } }).ToList();
|
var dr0 = db.Queryable<Student>().Select(it => new { id=it.Id,w=new { x=it } }).ToList();
|
||||||
var dr1 = db.Queryable<Student>().Select(it => new { newid = it.Id }).ToList();
|
var dr1 = db.Queryable<Student>().Select(it => new { newid = it.Id }).ToList();
|
||||||
|
@@ -18,6 +18,7 @@ namespace SqlSugar
|
|||||||
private SqlSugarClient Context = null;
|
private SqlSugarClient Context = null;
|
||||||
private IDataReaderEntityBuilder<T> DynamicBuilder;
|
private IDataReaderEntityBuilder<T> DynamicBuilder;
|
||||||
private IDataRecord DataRecord;
|
private IDataRecord DataRecord;
|
||||||
|
private List<string> ReaderKeys { get; set; }
|
||||||
private IDataReaderEntityBuilder()
|
private IDataReaderEntityBuilder()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -27,6 +28,7 @@ namespace SqlSugar
|
|||||||
this.Context = context;
|
this.Context = context;
|
||||||
this.DataRecord = dataRecord;
|
this.DataRecord = dataRecord;
|
||||||
this.DynamicBuilder = new IDataReaderEntityBuilder<T>();
|
this.DynamicBuilder = new IDataReaderEntityBuilder<T>();
|
||||||
|
this.ReaderKeys = new List<string>();
|
||||||
}
|
}
|
||||||
#region fields
|
#region fields
|
||||||
private static readonly MethodInfo isDBNullMethod = typeof(IDataRecord).GetMethod("IsDBNull", new Type[] { typeof(int) });
|
private static readonly MethodInfo isDBNullMethod = typeof(IDataRecord).GetMethod("IsDBNull", new Type[] { typeof(int) });
|
||||||
@@ -69,6 +71,10 @@ namespace SqlSugar
|
|||||||
|
|
||||||
public IDataReaderEntityBuilder<T> CreateBuilder(Type type)
|
public IDataReaderEntityBuilder<T> CreateBuilder(Type type)
|
||||||
{
|
{
|
||||||
|
for (int i = 0; i < this.DataRecord.FieldCount; i++)
|
||||||
|
{
|
||||||
|
this.ReaderKeys.Add(this.DataRecord.GetName(i));
|
||||||
|
}
|
||||||
DynamicMethod method = new DynamicMethod("SqlSugarEntity", type,
|
DynamicMethod method = new DynamicMethod("SqlSugarEntity", type,
|
||||||
new Type[] { typeof(IDataRecord) }, type, true);
|
new Type[] { typeof(IDataRecord) }, type, true);
|
||||||
ILGenerator generator = method.GetILGenerator();
|
ILGenerator generator = method.GetILGenerator();
|
||||||
@@ -101,7 +107,10 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
BindField(generator, result, propertyInfo, fileName);
|
if (this.ReaderKeys.Any(it => it.Equals(fileName, StringComparison.CurrentCultureIgnoreCase)))
|
||||||
|
{
|
||||||
|
BindField(generator, result, propertyInfo, fileName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user