【发布时间】:2015-02-16 15:42:54
【问题描述】:
我正在重建支持 ado.net 的网站以使用实体框架。
目前我有一个存储过程返回我存储在数据表中的地址详细信息。像这样简化的列分解,查询返回多行。实际上,我返回了大约 15 列,通常是 2-3 行。
- 地址ID
- 家号
- 街道
- 小镇
- 城市
- YearsAtAddress
- MonthsAtAddress
在应用程序代码中,我然后转置数据表中的行和列,然后绑定到网格视图。当它显示在屏幕上时,我的列从上到下排列,返回的每一行在屏幕上从左到右排列。
这给了我两个有用的好处
- 我可以轻松更改存储过程以添加/删除数据列,应用程序代码动态处理新数据,只需在列表底部添加/删除项目
- 我得到的行数永远不会超过页面宽度所能处理的,但它足够灵活,可以很好地处理单个或多个地址。
无论如何我可以使用实体框架复制它吗?我还想继续用数据表但是网上查的不多,我猜混合EF和ADO.Net可能不是最好的?
由于返回的 EF 是一个强类型对象,我希望避免必须有大量标签来手动显示每个对象属性,而是希望绑定的 gridview 动态地完成艰苦的工作。
谢谢
【问题讨论】:
-
EF 的全部意义 是您不再需要处理无类型的行和列,但是您的关系模型会被翻译改为漂亮、有用的 .NET 对象(以及此类对象的集合)。
-
您能否指出我正在尝试做的事情的正确方向?我毫不怀疑 EF 是要走的路,我希望能解决我的问题。他们这次似乎遇到的关键问题是将 X by Y 数据集交换为 Y by X 数据集并将其绑定到 gridview。如果我不转置我的数据,我会得到一个非常宽但非常短的数据网格,这是我无法拥有的。
标签: .net entity-framework stored-procedures datatable