Usuario
¿Como crear Reportes en C# usando Entity Framework?

Pregunta
-
Buenas Noches.
Estoy desarrollando una pequeña aplicacion para facturar servicios, la empece a desarrollar en C# usando como Base de Datos Mysql, En capas y me e quedado trabado en los reportes, ya que no deseo hacerlo con Dataset y trate de hacerlo con los dataset pero me arroja el siguiente error. Algunos comandos de actualizacion no se pudieron generar automaticamente. La base de datos devolvio el siguiente error: You have a usable connection already
si tienen algun ejemplo que me ayude a crear los reportes se lo agradeceria. de antemano gracias
- Editado Livanclick martes, 21 de abril de 2015 23:03
- Cambiado Karen Malagón miércoles, 22 de abril de 2015 20:35 Crystal Reports issue
Todas las respuestas
-
hola
los reportes los vas a realiar con Crystal Reports o Reporting Service o se rdlc ?
porque puedes usar objetos con clases
analiza la segunda parte de este articulo donde dice "Using Custom Objects as data source of my local report"
How to create local reports RDLC featuring barcode images in ASP.NET
en tu caso usarias los objetos que cargas con EF
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Editado Leandro TuttiniMVP miércoles, 22 de abril de 2015 0:11
-
-
>>Es en una aplicancion Windows form, con la plataforma C#.
si se que el link dice asp.net pero la solucion es la misma no cambia en nada la tecnica para asignar el origen de datos del reporte
>>Lo voy a usar en CrystalReport, asi mismo quisiera usar los objetos que cargo con el EF
ahh era crystal deberias haerlo mencionado desde el principio
la verdad no he visto que con crystal se usen entidades por eso es que mencione a Reportring Service
Crystal Reports – Cargar imagen usando una capa de reporte
es mas veras quetienden a convertir la entidad en datatable
Entity Framework and Crystal Reports - Entities to Datasets
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
aunque veo que aqui
Crystal Report in WPF with Entity Framework using Visual Studio 2012
le pasa un objeto que pareciera mapear con el datatable, pero no logro ver que aplique ninguna traduccion de uno a otro
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Editado Leandro TuttiniMVP miércoles, 22 de abril de 2015 9:15
- Propuesto como respuesta Karen Malagón miércoles, 22 de abril de 2015 20:34
-
Hola, yo lo tengo una App con un informe mapeado a objetos en memoria. Crystal no es muy flexible según mi experiencia, pero por prueba y error llegué a algo más o menos decente.
Para pasarle tus objetos tenes que utilizar el método SetDataSource del ReportDocument, que recibe un IEnumerable. Luego desde el editor del informe, desde el asistente de base de datos, sale una opción que dice "Datos del proyecto", ahí podés seleccionar clases de tu proyecto.
Recuerdo que tuve bastantes problemas cuando había objetos anidados. Por ejemplo, yo tenía DocuemntoDeVenta y dentro tenía LineaDocumentoDeVenta, la idea era que el informe pinte la cabecera con propiedades de DocumentoDeVenta y luego pintar el cuerpo del documento con las LineaDeVenta, pero no fui capaz y tuve que pasarle directamente las líneas y el resto por parámetros.
Por cierto, para pasar parámetros tenés que definir el parámetro en el editor y luego pasárselo al ReportDocument.
Una vez tengas el ReportDocument creado lo podés mandar a imprimir o mostrarlo en un CrystalReportViewer.
Salu2
-
Hola, yo estoy aprendiendo a programar y tengo exactamente el mismo problema, ademas que estoy usando capas estoy usando entity, entonces tuve la idea de poner los reportes en la capa entidades (Creo que no es lo correcto pero no se me ocurrió otra cosa) pudiendo mapear mis clases para los campos del reporte.
Entonces el formulario de reporte recibe la lista de objetos que deseo mostar y la idea es que con un SetDataSource llene el reporte, pero se me aparecen errores como que no acepta elementos nulos (he puesto una pausa y si están los elementos), y con los parametros igual, me dice que el indice no es valido.
Existe alguna documentación de paso a paso para realizar un reporte o que debería usar.