【发布时间】:2015-03-06 19:53:30
【问题描述】:
我想知道如何在事先不知道数据结构的情况下从 SQL Server 表中获取数据到我的 ASP.net MVC 应用程序中。
例子:
- 用户将
.csv文件上传到具有未知数据结构的应用程序(可以是3 个字段,也可以是50 个不同数据类型的字段) -
.csv文件被存储到 SQL Server 表中 - 现在我希望应用程序能够显示来自这些上传的数据,例如无需使用硬编码模型的 HTML 表格
是否可以使用连接字符串显示数据,例如LINQ to SQL 还是 EF?最好的情况是我可以将表名等动态分配到查询中。
模型仍将用于访问属于应用程序逻辑的数据,只是显示来自用户上传的数据,目前我还不清楚。
【问题讨论】:
-
那么您真的希望您的应用程序创建与 csv 结构匹配的数据库表吗?或者您只是想将数据存储在表中 - 在这种情况下您可以探索对象序列化?
-
在用户上传 csv 文件后,将创建一个与上传的 csv 文件的字段和数据类型相对应的 SQL 服务器表。
-
LINQ to SQL 和 EF 都是对象关系映射器 - 旨在与已知对象类型一起使用以映射到已知存在的表。您尝试做的事情是完全可能的,但是我会考虑使用 ADO.NET / 存储过程来说服您自己的实现
-
上传的 csv 文件可以是更大的集合(超过 500 万行),但暂时不会与其他表相关。
-
如果没有对插入逻辑进行验证,您可以在使用 .net 以编程方式创建表后使用这种方法 - 它会快得多 - blog.sqlauthority.com/2008/02/06/…
标签: sql-server asp.net-mvc linq entity-framework csv