Quiero obtener todos los datos de la tabla Invoice agregados con Firstname y Lastname de la tabla usersDetail .
Mi consulta devuelve datos de la tabla Invoice pero con valor NULL en Firstname y Lastname .
¿Puedes por favor ayudar?
Campos de tabla
Tabla de facturas = InvoiceId, Date, CreateByUser(Guid), Vehicule
Tabla UserDetail = UserId(string), FirstName, Lastname
CreateByUser = ID de usuario
var invoiceContext = _context.Invoices.ToList(); var usersDetail = _userManager.Users.Select(x => new ApplicationUser { Id = x.Id, FirstName = x.FirstName, SurName = x.SurName }).ToList(); var result = from invoice in invoiceContext join usrDtl in usersDetail on invoice.CreateByUser.ToString() equals usrDtl.Id into tempstorage from dx in tempstorage.DefaultIfEmpty() select new InvoiceViewModel { Id = invoice.InvoiceId.ToString(), Date = invoice.Date, Vehicle = invoice.engine, FirstName = (dx != null) ? dx.FirstName : "NULL", SurName = (dx != null) ? dx.SurName : "NULL" };modelo de clase
public class Invoice { public int InvoiceId { get; set; } public DateTime Date { get; set; } public string Vehicle { get; set; } public Guid CreateByUser { get; set; } public int TotalInvoice { get; set; } public IList<ProductInvoice> ProductInvoices { get; set; } } public class ApplicationUser : IdentityUser { public string FirstName { get; set; } public string SurName { get; set; } } public class InvoiceViewModel { public int InvoiceId { get; set; } public Guid CreateByUser { get; set; } public DateTime Date { get; set; } public int TotalInvoice { get; set; } public string FirstName { get; set; } public string SurName { get; set; } public string Vehicle { get; set; } }Prueba esto
var result = (from invoice in invoiceContext join usrDtl in usersDetail on invoice.CreateByUser.ToString() equals usrDtl.Id into usrDtlj from usrDtl in usrDtlj.DefaultIfEmpty() select new InvoiceViewModel { Id = invoice.InvoiceId.ToString(), Date = invoice.Date, Vehicule = invoice.engine, FirstName = usrDtl.FirstName==null? "NULL":usrDtl.FirstName, SurName = usrDtl.SurName==null? "NULL":usrDtl.SurName }).ToList();var result = (from invoice in invoiceContext join usrDtl in usersDetail on invoice.CreateByUser.ToString() equals usrDtl.Id into usrDtlj from usrDtl in usrDtlj.DefaultIfEmpty() select new InvoiceViewModel { Id = invoice.InvoiceId.ToString(), Date = invoice.Date, Vehicule = invoice.engine, FirstName = usrDtl==null?"":usrDtl.FirstName??"" , SurName = usrDtl==null?"":usrDtl.SurName??"" }).ToList();prueba esto. funcionará sin error.