我正在搜索有关在 asp.NET 动态站点中配置自己的元数据的信息。
例如。我在 MS Sql Server 中有一个表,其结构如下所示:
CREATE TABLE [dbo].[someTable](
[id] [int] NOT NULL,
[pname] [nvarchar](20) NULL,
[FullName] [nvarchar](50) NULL,
[age] [int] NULL)
我有 2 个 Ms Sql 表(我已经创建),sysTables 和 sysColumns。
系统表:
ID sysTableName 表名 TableDescription
1 | someTable |Persons |关于系统中人员的所有数据
系统列:
ID TableName sysColumnName ColumnName ColumnDesc ColumnType MUnit
1 |一些表 | sometable_pname| 姓名 | 角色名称(例如约翰)| nvarchar(20) | 空
2 |someTable | sometable_Fullname| 全名 | 角色名称(例如 John Black)| nvarchar(50) | 空
3 |someTable | sometable_age| 年龄 | 人年龄| 整数 | 无效的
我希望在Details/Edit/Insert/List/ListDetails页面中用作 MetaData sysColumns 和 sysTableData。因为,例如。在 DetailsPage fullName中,它不如Full Name漂亮。
一些想法,有可能吗?
谢谢
更新::在列表页面中显示来自 sysTables(元数据表)的数据,我已修改<h2 class="DDSubHeader"><%= tableName%></h2>
。
public string tableName;
protected void Page_Init(object sender, EventArgs e)
{
table = DynamicDataRouteHandler.GetRequestMetaTable(Context);
//added by me
uqsikDataContext sd=new uqsikDataContext();
tableName = sd.sysTables.Where(n => n.sysTableName == table.DisplayName).FirstOrDefault().TableName;
//end
GridView1.SetMetaTable(table, table.GetColumnValuesFromRoute(Context));
GridDataSource.EntityTypeName = table.EntityType.AssemblyQualifiedName;
if (table.EntityType != table.RootEntityType)
{
GridQueryExtender.Expressions.Add(new OfTypeExpression(table.EntityType));
}
}
那么,sysColums 呢?如何从我的sysColumns表中获取数据?