Я пытаюсь вызвать табличную функцию, используя FromSql
в Entity Framework Core.В соответствии с intellisense FromSql
, я ожидаю, что я могу использовать интерполированную строку.
var orgNodeDTO = Context.OrgNodes.
FromSql($"select * from [dbo].[GetEmployee]({0})",employeeId).SingleOrDefault();
My OrgNodes
имеет следующие свойства.
public class orgNodeDTO : BaseDTO
{
public string Employee { get; set; }
public string Department { get; set; }
public string Designation { get; set; }
public byte[] EmployeePicture { get; set; }
public Guid? ManagerId { get; set; }
public int DirectReportiesCount { get; set; }
public int TotalReportiesCount { get; set; }
}
И моя таблица оцененаФункция возвращает вывод следующим образом
Несмотря на то, что оба столбца и типы данных идентичны, я получаю Operand type clash: int is incompatible with uniqueidentifier
Когда я удаляю символ $
тогда работает нормально.Это что интерполированная строка должна иметь свойства в точной последовательности или что?Если да, то и моя сущность также совпадает с набором результатов по порядку и типу данных.
Примечание: Пожалуйста, не обращайте внимания на то, как можно сопоставить DTO с сущностями и т. Д., Так как онинекоторые детали моей организации, это реализовано правильно.Я просто использую строительные леса.Кто-нибудь может мне помочь с этим?