Sql server ASP.net MVC-在不知道数据结构的情况下从SQL Server获取数据

Sql server ASP.net MVC-在不知道数据结构的情况下从SQL Server获取数据,sql-server,asp.net-mvc,linq,entity-framework,csv,Sql Server,Asp.net Mvc,Linq,Entity Framework,Csv,我想知道如何在不事先知道数据结构的情况下,将SQL Server表中的数据获取到ASP.net MVC应用程序中 例如: 用户将.csv文件上载到数据结构未知的应用程序中(可以是3个字段,也可以是50个不同数据类型的字段) .csv文件被存储到SQL Server表中 现在,我希望应用程序能够在例如HTML表中显示这些上传的数据,而不必使用硬编码模型 是否可以使用连接字符串显示数据,例如LINQ到SQL或EF?最好的情况是,我可以动态地将表名等分配到查询中 这些模型仍将用于访问属于应用程序逻

我想知道如何在不事先知道数据结构的情况下,将SQL Server表中的数据获取到ASP.net MVC应用程序中

例如:

  • 用户将
    .csv
    文件上载到数据结构未知的应用程序中(可以是3个字段,也可以是50个不同数据类型的字段)
  • .csv
    文件被存储到SQL Server表中
  • 现在,我希望应用程序能够在例如HTML表中显示这些上传的数据,而不必使用硬编码模型
是否可以使用连接字符串显示数据,例如LINQ到SQL或EF?最好的情况是,我可以动态地将表名等分配到查询中


这些模型仍将用于访问属于应用程序逻辑的数据,目前我不清楚的只是显示用户上传的数据。

EF和Linq2Sql始终要求您将现有模型与数据库表关联

如果您真的需要“动态”查询,您可以使用micro-ORM将查询返回到
动态类型


此解决方案不会通过从表中检索字段列表来避免生成select sql查询。也许您可以使用SQLServer中的sys表(如果是数据库的话)来实现这一点。就像在

中一样,您真的希望应用程序创建与csv结构匹配的数据库表吗?或者您只是想将数据存储在一个表中?在这种情况下,您可以探索对象序列化?在用户上传csv文件后,将创建一个SQL server表,对应上传的csv文件的字段和数据类型。LINQ to SQL和EF都是对象关系映射器-用于映射到的已知对象类型已知存在的表。您试图做的是完全可能的,但是我会考虑使用ADO.NET/存储过程来实现您自己的实现上载的csv文件可以是更大的集合(500多万行),但暂时不会与其他表关联。如果没有对插入逻辑进行验证,您可以在用.net编程创建表之后使用这种方法,这样会快得多-