Свойства навигации Entity Framework не отображаются при создании конвертера.C#

Место общения программистов C#
Ответить
Anonymous
 Свойства навигации Entity Framework не отображаются при создании конвертера.

Сообщение Anonymous »

У меня есть следующий рабочий код Entity Frameowrk для создания DTO на основе результата Entity Framework. Он создал объект InvoiceDTO, внутри которого есть свойство List. Это делается с помощью сопоставления результатов запроса Linq с классом DTO

Код: Выделить всё

public class InvoiceDTO
{
public int InvoiceID { get; set; }
public List ServiceChargeLineItems { get; set; }
public decimal InvoiceTotal { get; set; }
}

public InvoiceDTO GetInvoiceByID(int invoiceIDParam)
{
InvoiceDTO invoice=null;
using (var db = new PortalEntities())
{
var invoices = from a in db.Invoices
where a.InvoiceID == invoiceIDParam
select new InvoiceDTO
{
InvoiceID = a.InvoiceID,
InvoiceTotal = a.InvoiceAmount,
ServiceChargeLineItems =
(from b in db.InvoiceServiceXrefs
where a.InvoiceID == b.InvoiceID
select new ServiceChargeDTO
{
ServiceChargeID = b.ServiceChargeID,
Quantity = b.ServiceCharge.Qty,
UnitPrice=b.ServiceCharge.UnitPrice,
Amount=b.ServiceCharge.Amount
}
).ToList()
};

invoice = invoices.FirstOrDefault();
}

return invoice;
}
Здесь успешно извлекаются данные из связанных таблиц.

Код: Выделить всё

InvoiceServiceXrefs.ServiceCharge.Qty
Мне нужно изменить этот подход и сделать его методом convert.

Код: Выделить всё

public InvoiceDTO GetInvoiceByID(int invoiceIDParam)
{
var invoice2 = null;
using (var db = new PortalEntities())
{
var invoices2 = from b in db.Invoices
where b.InvoiceID == invoiceIDParam
select b;
invoice2 = ToInvoiceDTO(invoices2.FirstOrDefault());
}

return invoice2;
}
Но свойства навигации не отображаются в списке, когда я набираю «voice.InvoiceServiceXrefs»..

Изображение


Как правильно получить свойства навигации и создать объект InvoiceDTO с помощью List?

Подробнее здесь: https://stackoverflow.com/questions/432 ... -converter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»