我正在尝试为ASP.NET应用程序布置RDLC报告。我正在使用实体框架并有一个部分类,它返回从EDMX设计器生成的实体列表。所有文件都正确命名并在同一项目中,以简化问题。
我正在尝试通过这里的示例: http://msdn.microsoft.com/en-us/library/ms251692(VS.100).aspx
...目标是通过ActionResult将报告呈现给ASP.NET MVC中的响应流。
在“设计报告”部分中,在步骤2中,它表示选择“全局”,此时我的实体应该可用。不幸的是,没有全局,我找不到其他方法来从我的模型中引用IList静态方法。
此外,似乎没有办法将对象数据源添加到报表中(如在以前的IDE中),因为没有“数据源”工具窗口。
有一个“报告数据”工具窗口,但没有添加数据源的选项(除非我想创建一个DataSet,否则我没有)。如果我使用数据集方法,则无法根据EF生成的对象布置报表。
如何将实体引用(对象数据源)添加到报表中以便它知道我的模型对象?
答案 0 :(得分:6)
如果有人感兴趣,我可以在文章Rendering an RDLC directly to the Response stream in ASP.NET MVC中找到Raj Kaimal帮助的修复。
Raj的解决方案包括制作包装器对象(存储库模式)。然后,您可以使用EF对象进行报告,但必须使用具有返回IEnumerables的(可选的静态)成员的类。构建解决方案,以便设计人员了解类型,然后将存储库结果作为数据源(和数据集)添加到报表中。