Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ to SQL, ExecuteQuery с заранее неизвестным набором столбцов / 5 сообщений из 5, страница 1 из 1
26.04.2012, 19:27
    #37772983
PM2010
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ to SQL, ExecuteQuery с заранее неизвестным набором столбцов
Добрый день!
Столкнулся со следующей проблемой. Есть таблица, в общем случае число ее столбцов и их тип неизвестны, но точно известно, что один из столбцов имеет название ID и тип uniqueidentifier. Необходимо через ExecuteQuery получить все столбцы этой таблицы и выбросить их в DataGridView. Пользователь выбирает строку и нажимает ОК, программа должна изъять значение столбца ID выбранной строки, привести его к типу Guid и вернуть это значение вызывающей функции.
То есть необходимо как-то так поработать через LINQ to SQL с таблицей, о которой ORM не знает ничего.
Пишу на C#, DataGridView привязан к BindingSource. Для начала хотелось бы понять, какой тип передать функции ExecuteQuery?
Спасибо!
...
Рейтинг: 0 / 0
27.04.2012, 15:52
    #37774515
Andrey1306
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ to SQL, ExecuteQuery с заранее неизвестным набором столбцов
SELECT * FROM Таблица
Where ID = 1


не пойдет ??
...
Рейтинг: 0 / 0
27.04.2012, 16:36
    #37774680
Lelouch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ to SQL, ExecuteQuery с заранее неизвестным набором столбцов
Andrey1306,

И как это относится к LINQ 2 SQL?
...
Рейтинг: 0 / 0
27.04.2012, 16:53
    #37774747
Andrey1306
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ to SQL, ExecuteQuery с заранее неизвестным набором столбцов
Lelouch,

Никак , переделать под sqlcommand для данного случая, если просто грид заполнить нужно
...
Рейтинг: 0 / 0
30.04.2012, 22:36
    #37777778
PM2010
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ to SQL, ExecuteQuery с заранее неизвестным набором столбцов
Решил проблему так: перестал думать об ExecuteQuery и переписал все под ADO.NET, используя соединение от LINQ.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
protected DataTable dir;
protected string pTableName;

protected DataRowView Current {
	get { return bindingSource.Current as DataRowView; }
}

...

string q = @"SELECT * FROM " + @pTableName;
// DB - класс, представляющий БД в LINQ (DataContext)
SqlConnection conn = DB.Connection as SqlConnection;
SqlDataAdapter adapter = new SqlDataAdapter(q, conn);
dir = new DataTable();
adapter.Fill(dir);

...

bindingSource.DataSource = dir;
bindingSource.ResetBindings(true);

...

return new Guid(Current["ID"].ToString());
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ to SQL, ExecuteQuery с заранее неизвестным набором столбцов / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]