Используя последнюю версию https://github.com/ServiceStack/ServiceStack.OrmLiteОшибка с использованием Объединить в Servicestack.OrmLite Sql Server
[Schema("dbo")]
[Alias("ShelvingCount")]
public class ShelvingCount: IHasId<int>
{
[Alias("ShelvingCountId")]
[Index(Unique = true)]
[AutoIncrement]
public int Id { get; set;}
[Required]
[References(typeof(Account))]
public int AccountId { get; set; }
[Reference]
public Account Account { get; set; }
[Required]
public DateTime Date { get; set; }
[Required]
public int Quantity { get; set; }
[Required]
public int? Status { get; set; }
}
Я удалил свойство EmployeeID который был ВНЕШНЯЯ ключ к таблице Employees. И я забыл удалить «команду Объединить» в коде ниже:
var result = await dbCon.SqlListAsync<ShelvingCount>("EXEC getAllShelvingCounts @accountId, @status, @fromDate, @toDate", new { accountId, status, fromDate, toDate });
// Load the references
var employees = dbCon.Select<Employee>();
result.Merge(employees);
return result;
Тогда это привело к следующей ошибке. Я знаю, что я должен был удалить команду слияния. Однако его можно устранить, игнорируя команду Merge в случаях, когда нет ссылки на эту таблицу.
{ResponseStatus:{ErrorCode:Exception,Message:Could not find Child Reference for 'Employee' on Parent 'ShelvingCount',StackTrace:"[AllShelvingCounts: 24/06/2015 4:15:01 AM]:
[REQUEST: {AccountId:0,Status:-1,FromDate:2015-06-22,ToDate:2015-06-24}]
System.Exception: Could not find Child Reference for 'Employee' on Parent 'ShelvingCount'
at ServiceStack.OrmLite.OrmLiteUtils.Merge[Parent,Child](List`1 parents, List`1 children)
at Next.Management.Repository.ShelvingCountRepository.<GetAllShelvingCounts>d__0.MoveNext() in c:\dev\Next\Logistics\Management\src\Management.Repository\Repository\ShelvingCountRepository.cs:line 26
Следует ли исправить некоторые важные проблемы?
Принимая во внимание, что исключение может помочь разработчику удалить бесполезную команду слияния, было бы интересно предупредить разработчиков servicestack.