Используя LINQ, как я могу получить имена столбцов таблицы? C# 3,0, 3,5 рамкиLINQ: Получить имена столбцов таблицы
ответ
Я предполагаю, что вы имеете в виду с помощью LINQ к SQL, в этом случае смотреть на DataContext.Mapping собственности. Это то, что я использую.
Если вы не имеете в виду это, возможно, вы можете уточнить, чего вы пытаетесь достичь?
Я хочу написать программу, использующую LINQPad (C#), которая может строить инструкции вставки SQL без курса для этого. Мне нужны имена столбцов таблиц. –
это может быть выяснено немного ... это не очень большой ответ. –
Пример использования примера будет замечательным. API сопоставления немного неинтуитивно, если не сказать больше ... –
итерацию свойства ваших классов L2S с отражением
Используйте метод ExecuteQuery от контекста данных и выполнить этот SQL скрипт:
var columnNames = ctx.ExecuteQuery<string>
("SELECT name FROM sys.columns WHERE object_id = OBJECT_ID('your table name');");
Это дает вам IEnumerable<string>
со всеми именами столбцов в этой таблице вы указали.
Конечно, если вам нужно и нужно, вы всегда можете получить дополнительную информацию (например, тип данных, максимальную длину) из каталога каталога sys.columns
в SQL Server.
Если вы говорите о получении столбцов для сопоставленной таблицы, см. this answer, чтобы узнать, как добраться до атрибутов столбца. Оттуда вы можете получить названия колонок, типы и т. Д.
Я наткнулся на этот вопрос, ища то же самое, и не увидел здесь действительно хорошего ответа. Это то, что я придумал. Просто бросьте его в 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
Изменить как вы сочтете это подходящим.
Может быть, это слишком поздно, но я решил эту проблему с помощью этого кода
var db = new DataContex();
var columnNames = db.Mapping.MappingSource
.GetModel(typeof(DataContex))
.GetMetaType(typeof(_tablename))
.DataMembers;
Спасибо, вы только что спасли мне лодку. Это лучше, чем принятый ответ, потому что это показывает, как использовать свойство DataContext.Mapping. –
Для VB.Net используйте 'GetType (DataContext)' вместо 'typeof (DataContext)'. – Zarepheth
Я использовал этот код в LINQPad
from t in typeof(table_name).GetFields() select t.Name
Обратите внимание, что это unpluralized версия имени таблицы. –
Ниже код работал с возвращает все имена столбцов таблица
var columnnames = from t in typeof(table_name).GetProperties() select t.Name
Не уверен, почему это не было поддержано, это самый элегантный ответ. Вот эквивалент лямбда-синтаксиса: var columnnames = typeof (table_name) .GetProperties(). Выберите (t => t.Name); – draconis
Возможно, это не было поддержано, поскольку вы получаете не только столбцы, но и дополнительные свойства. В конце концов, это, как правило, частичный класс с расширяемостью. – mbx
var query = from x in DataBase.Table_Name
select x.Column_Name;
sp_help 'TableName'
Опция для окна LINQPad SQL в MS SQL Server
В LINQPad:
TableNames.Take (1) работает.
Быстро напечатать. (Хотя вы в идеальном мире, было бы лучше не выбирать любые строки.)
Обратите внимание, что это плюрализованная форма TableName. Вы также можете сделать Take (0) и посмотреть вкладку результатов SQL.
- 1. LINQ: пользовательские имена столбцов
- 2. Как получить имена столбцов из модели LINQ?
- 3. Имена столбцов таблицы sql-таблицы с свойством объекта, C#, LINQ
- 4. Получить имена столбцов таблицы в mysql?
- 5. PLSQL получить имена столбцов по значению таблицы
- 6. Просто получить имена столбцов из улья таблицы
- 7. Как получить отобранные имена столбцов из таблицы
- 8. Получить имена столбцов из таблицы MySQL
- 9. Получить имена столбцов таблицы и значения
- 10. Получить имена столбцов
- 11. Hive - получить имена столбцов
- 12. Listbox показать имена столбцов таблицы
- 13. Использование C#, LINQ - хотите получить имена столбцов И значения данных
- 14. Как получить имена столбцов из таблицы, возвращенные из хранимой процедуры
- 15. выбрать имена столбцов текущей таблицы
- 16. , отображающий имена столбцов Oracle таблицы
- 17. Имена столбцов таблицы - NetBeans IDE
- 18. Выберите различные имена столбцов в Linq
- 19. Получить имена столбцов в подзапросе
- 20. JPA/EclipseLink - Получить имена столбцов
- 21. Как вернуть имена столбцов объекта LINQ
- 22. ASP.Net Linq имена столбцов и получение данных
- 23. Доступ SQLAlchemy имена столбцов таблицы с переменными
- 24. Получить имена столбцов Pandas из номеров столбцов
- 25. Получить столбец Имена таблицы
- 26. Получить имена столбцов в SQLite?
- 27. Как получить имена столбцов QSqlTableModel?
- 28. Получить имена столбцов из SQLDatasource
- 29. Как правильно получить имена столбцов?
- 30. Как получить имена столбцов dtype
Перемещенный в 'linq-to-sql', пожалуйста, отредактируйте свой вопрос, если вы имели в виду какой-то другой тип« LINQ ». –
К сожалению, этот запрос выполняется внутри LINQPad, так как я могу получить контекст в LINQPad? –