[英]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.