繁体   English   中英

C#SQL:实现动态表的最佳方法是什么?

[英]C# SQL: What is the best way to implement a dynamic table?

我想允许用户向UI中的表添加列。

用户界面:列名称:______列类型:数字/字符串/日期

我的问题是如何构建SQL表和C#对象,以便实现高效且可扩展。


我的想法是建立两个SQL表:

TBL 1-列定义:

ColId,ColName,ColType [文本]

TBL 2-列值:

RowId,ColId,值[文本]


我希望该解决方案在数据库空间中有效,

并且我想允许用户对动态列进行排序。

我使用.NET 3.5 / SQL Server 2008。

谢谢。

我认为本质上是WebParts.SqlPersonalizationProvider的工作方式,这不一定意味着它是最好的,但是它的确意味着在一些聪明的人考虑了一会后,他们才想到了这一点。

在给定的字段上排序会有些棘手,尤其是在字段文本需要非文本排序的情况下(例如,如果您希望“ 2”在“ 10”之前)。

我建议从C#中,对ColumnsDefinition进行一个查询,然后在此基础上,从几个不同的查询中选择一个以选择/排序数据。

向您的ColumnDefinition添加一个DefaultValue。 如果该值不是默认值,则仅在ColumnsValues中添加一个值。 这将大大加快速度。

我讨厌这类系统的原因是,很难在开发/阶段/生产之间转移更改,因为您必须保持表的结构和内容同步。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM