ServiceStack.OrmLite SqlServer 新的 Merge 方法不适用于不同名称的引用
ServiceStack.OrmLite SqlServer new Merge method doesn't work for different names of references
我尝试在 ServiceStack.OrmLite Sql 服务器中使用新的合并方法,当列名与 Child [=23] 相同时,它可以完美地加载引用=]:
var result = dbCon.SqlList<TimeSheet>("EXEC getAllTimeSheets @timeSheetTypeId, @teamId, @employeeId, @fromDate, @toDate", new { timeSheetTypeId, teamId, employeeId, fromDate, toDate });
// Load the references
var employees = dbCon.Select<Employee>();
var teams = dbCon.Select<Team>();
result.Merge(employees);
result.Merge(teams);
但是正如您在下面看到的那样,ApprovedBy 属性 有一个 child table 给 Employee table 并且合并方法没有加载 [=18] 的引用=] 如何加载它?
Employees and Teams are being loaded perfectly, but ApprovedBy (Also
Employees table) is not loading in my tests
public class TimeSheet : IHasId<int>
{
[Alias("TimeSheetId"), AutoIncrement]
public int Id { get; set; }
[Required, References(typeof(Employee))]
public int EmployeeId { get; set; }
[Reference]
public Employee Employee { get; set; }
public bool? IsApproved { get; set; }
[References(typeof(Employee))]
public int? ApprovedById { get; set; }
[Reference]
public Employee ApprovedBy { get; set; }
[References(typeof(Team))]
public int? TeamId { get; set; }
[Reference]
public Team Team { get; set; }
}
现在应该可以解决这个问题 with this commit which is available from v4.0.41+ that's now available on MyGet。
我尝试在 ServiceStack.OrmLite Sql 服务器中使用新的合并方法,当列名与 Child [=23] 相同时,它可以完美地加载引用=]:
var result = dbCon.SqlList<TimeSheet>("EXEC getAllTimeSheets @timeSheetTypeId, @teamId, @employeeId, @fromDate, @toDate", new { timeSheetTypeId, teamId, employeeId, fromDate, toDate });
// Load the references
var employees = dbCon.Select<Employee>();
var teams = dbCon.Select<Team>();
result.Merge(employees);
result.Merge(teams);
但是正如您在下面看到的那样,ApprovedBy 属性 有一个 child table 给 Employee table 并且合并方法没有加载 [=18] 的引用=] 如何加载它?
Employees and Teams are being loaded perfectly, but ApprovedBy (Also Employees table) is not loading in my tests
public class TimeSheet : IHasId<int>
{
[Alias("TimeSheetId"), AutoIncrement]
public int Id { get; set; }
[Required, References(typeof(Employee))]
public int EmployeeId { get; set; }
[Reference]
public Employee Employee { get; set; }
public bool? IsApproved { get; set; }
[References(typeof(Employee))]
public int? ApprovedById { get; set; }
[Reference]
public Employee ApprovedBy { get; set; }
[References(typeof(Team))]
public int? TeamId { get; set; }
[Reference]
public Team Team { get; set; }
}
现在应该可以解决这个问题 with this commit which is available from v4.0.41+ that's now available on MyGet。