如何在dbml文件中创建动态表?

时间:2010-05-04 06:12:18

标签: linq-to-sql

我正在使用linq来实现sql。我在dbml文件中有一个表,它的一些字段可以动态生成(在运行时)。有没有办法将字段添加到表dynamiccaly,或者动态地将类添加到dbml文件?

1 个答案:

答案 0 :(得分:1)

您无法动态地向DBML文件添加类,但您可以创建TypeBuilder实例以在运行时使用相应的TableAttributeColumnAttribute属性创建类,然后在查询中使用那个类。

这个问题是你必须通过反射来访问它,包括生成查询的大多数调用(因为你无法在编译时知道调用这些成员的内容)。

那就是说,你最好的选择是使用一个更通用的容器(取决于你的数据形状),然后将其投射到一系列KeyValuePair<TKey, TValue>实例(或其他一些结构)中,这些实例将保持键值在动态字段的名称上。