mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-23 22:11:36 +08:00
-
This commit is contained in:
parent
d5492af918
commit
f07e357ca8
@ -38,6 +38,7 @@ namespace OrmTest.UnitTest
|
||||
|
||||
#region dr ot entity
|
||||
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 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();
|
||||
|
@ -18,6 +18,7 @@ namespace SqlSugar
|
||||
private SqlSugarClient Context = null;
|
||||
private IDataReaderEntityBuilder<T> DynamicBuilder;
|
||||
private IDataRecord DataRecord;
|
||||
private List<string> ReaderKeys { get; set; }
|
||||
private IDataReaderEntityBuilder()
|
||||
{
|
||||
}
|
||||
@ -27,6 +28,7 @@ namespace SqlSugar
|
||||
this.Context = context;
|
||||
this.DataRecord = dataRecord;
|
||||
this.DynamicBuilder = new IDataReaderEntityBuilder<T>();
|
||||
this.ReaderKeys = new List<string>();
|
||||
}
|
||||
#region fields
|
||||
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)
|
||||
{
|
||||
for (int i = 0; i < this.DataRecord.FieldCount; i++)
|
||||
{
|
||||
this.ReaderKeys.Add(this.DataRecord.GetName(i));
|
||||
}
|
||||
DynamicMethod method = new DynamicMethod("SqlSugarEntity", type,
|
||||
new Type[] { typeof(IDataRecord) }, type, true);
|
||||
ILGenerator generator = method.GetILGenerator();
|
||||
@ -101,7 +107,10 @@ namespace SqlSugar
|
||||
}
|
||||
else
|
||||
{
|
||||
BindField(generator, result, propertyInfo, fileName);
|
||||
if (this.ReaderKeys.Any(it => it.Equals(fileName, StringComparison.CurrentCultureIgnoreCase)))
|
||||
{
|
||||
BindField(generator, result, propertyInfo, fileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user