2010-04-12 3 views
0

사용자가 UI의 표에 열을 추가 할 수있게하려고합니다.C# SQL : 동적 테이블을 구현하는 가장 좋은 방법은 무엇입니까?

UI를 : 열 이름 : ______ 열이 입력 : 번호/문자열/날짜

내 질문은 구현이 효율적이고 확장 성이 될 것입니다 수 있도록 SQL 테이블 및 C# 객체를 구축하는 방법이다.

ID에, COLNAME, ColType [텍스트]

TBL 2 - ColumnsValues ​​:

의 RowId - ColumnsDefinition

TBL 1 :


내 생각은 두 개의 SQL 테이블을 구축하는 것입니다 , ColId, Value [텍스트]


나는 솔루션 : DB 공간에서 효율적이되도록

그리고 사용자가 동적 열을 정렬 할 수있게하려고합니다.

저는 .NET 3.5/SQL Server 2008에서 작업합니다.

감사합니다.

+0

이 데이터가 저장 될 것으로 예상되는 데이터 양은 어느 정도입니까? 표준 'DataTable'이 너무 비효율적이라고 주장하고 있다고 가정합니다. – Thomas

+0

이것은 웹 사이트의 주 테이블이 될 것이므로 확장 가능해야합니다. 그런 이유로 나는 객체 기반 솔루션 만 사용하기를 원합니다. – SirMoreno

답변

0

필자는 그것이 WebParts.SqlPersonalizationProvider가 작동하는 방식이라고 생각합니다. 반드시 최상의 것은 아닙니다.하지만 일부 영리한 사람들이 잠시 생각한 후에 그 점을 생각해냅니다.

특히 필드 텍스트가 텍스트가 아닌 정렬이 필요한 경우 (즉, "2"를 "10"앞에 오게하려는 경우) 특정 필드를 정렬하는 것은 약간 까다 롭습니다.

나는 C#에서 ColumnsDefinition에 대해 하나의 쿼리를 수행하고이를 기반으로 데이터 선택/정렬을위한 몇 가지 쿼리 중 하나를 선택하는 것이 좋습니다.

0

ColumnDefinition에 DefaultValue를 추가하십시오. 값이 기본값이 아닌 경우 ColumnsValues에 값만 추가하십시오. 이것은 많은 것을 가속화 할 것입니다.

이런 종류의 시스템에 대해 싫어하는 점은 테이블의 구조와 내용을 동기화 상태로 유지해야하기 때문에 dev/stage/production 사이의 변경 사항을 전송하는 것은 매우 어렵다는 것입니다.

관련 문제