Сопоставить сущность с результатом хранимой процедуры SQL в Entity Framework - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть SP, который выбирает имя и фамилию человека, но я объединил их, чтобы я получил полное имя в одной строке, вот фрагмент SP:

Select SO.SubscriptionId,
               SO.ServiceOrderId,
               SO.ServiceRequestId,
               SO.CustomerAccountId,
               ...
               PD.PersonId,
               PD.FirstName + ' ' + PD.LastName, /*HERE IS THE ELEMENT I'M TALKING ABOUT*/
               SO.StartDate,
               SO.EndDate,
               SO.ModifiedBy,
               SO.ModifiedDate,
               SO.CreateDate
          From #Aux A Inner Join dbo.ServiceOrder SO
            ...
            On TD.ServiceOrderId = SO.ServiceOrderId Left Join dbo.Person PD
            On PD.PersonId = TD.DriverId

В Visual Студия, я делаю это:

Func<IDataRecord, ServiceOrder> f = r =>
                   {
                       return new ServiceOrder
                       {
                           SubscriptionId = r.ConvertValue<byte>("SubscriptionId"),
                           ServiceOrderId = r.ConvertValue<int>("ServiceOrderId"),
                           ServiceRequestId = r.ConvertValue<int>("ServiceRequestId"),
                           Person = new Person
                           {
                                //Here is where the name is "extracted" from the SP, but if I do it like 
                                //this, it won't work, how can I do it so I can have the full name?
                               PersonId = r.ConvertValue<int>("PersonId"),
                               Name = r.ConvertValue<string>("FirstName")
                           }
                       };
                   };

                    var query = (await db.SP<ServiceOrder>("dbo.sk_Test01", parameters, f))
                        .ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...