Sql server ASP.net MVC-在不知道数据结构的情况下从SQL Server获取数据
我想知道如何在不事先知道数据结构的情况下,将SQL Server表中的数据获取到ASP.net MVC应用程序中 例如: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?最好的情况是,我可以动态地将表名等分配到查询中 这些模型仍将用于访问属于应用程序逻
- 用户将
文件上载到数据结构未知的应用程序中(可以是3个字段,也可以是50个不同数据类型的字段).csv
文件被存储到SQL Server表中.csv
- 现在,我希望应用程序能够在例如HTML表中显示这些上传的数据,而不必使用硬编码模型
这些模型仍将用于访问属于应用程序逻辑的数据,目前我不清楚的只是显示用户上传的数据。EF和Linq2Sql始终要求您将现有模型与数据库表关联 如果您真的需要“动态”查询,您可以使用micro-ORM将查询返回到
动态类型
此解决方案不会通过从表中检索字段列表来避免生成select sql查询。也许您可以使用SQLServer中的sys表(如果是数据库的话)来实现这一点。就像在中一样,您真的希望应用程序创建与csv结构匹配的数据库表吗?或者您只是想将数据存储在一个表中?在这种情况下,您可以探索对象序列化?在用户上传csv文件后,将创建一个SQL server表,对应上传的csv文件的字段和数据类型。LINQ to SQL和EF都是对象关系映射器-用于映射到的已知对象类型已知存在的表。您试图做的是完全可能的,但是我会考虑使用ADO.NET/存储过程来实现您自己的实现上载的csv文件可以是更大的集合(500多万行),但暂时不会与其他表关联。如果没有对插入逻辑进行验证,您可以在用.net编程创建表之后使用这种方法,这样会快得多-