- Obtuve un informe de RDLC
- El formato de fecha almacenado en SQL DB es georgiano. Quiero mostrar la fecha en el informe como persa.
- Usando Linq quiero seleccionar todos los campos de DB además algún campo nuevo para ser utilizado como campos de fechas persas.
que se utiliza por debajo de sintaxis:¿Cómo seleccionar todos los campos más algunos campos nuevos en LINQ?
var invoices = from invoice in dbContext.eve_Invoices
select new
{
invoice.CreatorID,
invoice.DateChange,
invoice.DateCreation,
invoice.DatePrint,
invoice.Discount,
invoice.DiscountPercentage,
invoice.DiscountType,
invoice.Fare,
invoice.ID,
invoice.InvoiceStatus,
invoice.NumberOfItems,
invoice.Packaging,
invoice.PrintID,
invoice.RawPrice,
invoice.RoundOff,
invoice.ServiceCharge,
invoice.ServingType,
invoice.TableID,
invoice.Tax,
invoice.TotalPrice,
invoice.ValidityStatus,
PersianYear = invoice.DateCreation != null ? pc.GetYear((DateTime)invoice.DateCreation) : 0,
PersianMonth = invoice.DateCreation != null ? pc.GetDayOfMonth((DateTime)invoice.DateCreation) : 0,
PersianDay = invoice.DateCreation != null ? pc.GetDayOfMonth((DateTime)invoice.DateCreation) : 0
};
¿Hay alguna manera de pasar todos los campos de la factura, además de nuevos campos tales como:
var invoices = from invoice in dbContext.eve_Invoices
select new
{
invoice.*,
PersianYear = invoice.DateCreation != null ? pc.GetYear((DateTime)invoice.DateCreation) : 0,
PersianMonth = invoice.DateCreation != null ? pc.GetDayOfMonth((DateTime)invoice.DateCreation) : 0,
PersianDay = invoice.DateCreation != null ? pc.GetDayOfMonth((DateTime)invoice.DateCreation) : 0
};
También probé seleccione nueva {factura , ....} sin embargo, no dará como resultado que datatable sea igual que el primero.
Tu primera sintaxis no funcionará, deberías tener un parámetro con nombre para tu tipo anónimo. También creo que el casting de DateTime no funcionará aquí. –