LINQ: получите названия столбца таблицы

В зависимости от того, как перекрестный браузер необходимо быть и цель выполнения вывода, Вы могли бы изучить элемент Холста и связанный JavaScript.

Холст

17
задан Alex Bagnolini 26 November 2009 в 12:08
поделиться

6 ответов

Я предполагаю, что вы имеете в виду использование LINQ to SQL, и в этом случае посмотрите на свойство DataContext.Mapping . Это то, что я использую.

Если вы не имеете в виду этого, возможно, вы сможете подробнее рассказать о том, чего вы пытаетесь достичь?

6
ответ дан 30 November 2019 в 10:36
поделиться

Итерация свойств ваших классов L2S с отражением

0
ответ дан 30 November 2019 в 10:36
поделиться

Используйте метод ExecuteQuery в контексте данных и выполните этот сценарий SQL:

var columnNames = ctx.ExecuteQuery<string>
    ("SELECT name FROM sys.columns WHERE object_id = OBJECT_ID('your table name');");

Это даст вам IEnumerable со всеми именами столбцов в этой таблице, которые вы указали.

Конечно, при желании и необходимости вы всегда можете получить дополнительную информацию (например, тип данных, максимальную длину) из sys.columns представление каталога в SQL Server.

2
ответ дан 30 November 2019 в 10:36
поделиться

Если вы говорите о получении столбцов для сопоставленной таблицы, см. этот ответ , чтобы узнать, как чтобы перейти к атрибутам столбца. Оттуда вы можете получить названия столбцов, типы и т. Д.

0
ответ дан 30 November 2019 в 10:36
поделиться

Я наткнулся на этот вопрос, ища то же самое, и не увидел действительно хороший ответ здесь. Это то, что я придумал. Просто загрузите его в LINQPad в режиме выражения C #.

from t in typeof(UserQuery).GetProperties()
where t.Name == "Customers"
from c in t.GetValue(this,null).GetType().GetGenericArguments()[0].GetFields()
select c.Name

Измените по своему усмотрению.

6
ответ дан 30 November 2019 в 10:36
поделиться

Возможно, уже слишком поздно, но я решил эту проблему с помощью этого кода

var db = new DataContex();
var columnNames = db.Mapping.MappingSource
                      .GetModel(typeof(DataContex))
                      .GetMetaType(typeof(_tablename))
                      .DataMembers;
20
ответ дан 30 November 2019 в 10:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: