Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
 Select из MS SQL базы в List<T>  [new]
2king2
Member

Откуда:
Сообщений: 545
Есть ли возможность cltkfnm выборку из базы не использую вставку sql языка в SqlCommands и получить результат запроса в стринговом списке List<T>? Если это возможно то как это сделать?
23 мар 11, 11:54    [10412897]     Ответить | Цитировать Сообщить модератору
 Re: Select из MS SQL базы в List<T>  [new]
stimpi
Member

Откуда: Киев, Украина
Сообщений: 662
А теперь собрались с мыслями и сформулировали на понятным всем языком.
Желательно с кодом который не получился
23 мар 11, 12:56    [10413377]     Ответить | Цитировать Сообщить модератору
 Re: Select из MS SQL базы в List<T>  [new]
2king2
Member

Откуда:
Сообщений: 545
stimpi
А теперь собрались с мыслями и сформулировали на понятным всем языком.
Желательно с кодом который не получился


А кода пока нету, я собираюсь с мыслями. Вот стандартный код с MSDN

private static void ReadOrderData(string connectionString)
{
    string queryString = 
        "SELECT OrderID, CustomerID FROM dbo.Orders;";
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(
            queryString, connection);
        connection.Open();
        SqlDataReader reader = command.ExecuteReader();
        try
        {
            while (reader.Read())
            {
                Console.WriteLine(String.Format("{0}, {1}",
                    reader[0], reader[1]));
            }
        }
        finally
        {
            // Always call Close when done reading.
            reader.Close();
        }
    }
}



Если делать так то на выходе будет например DataSet. И уже с ним можно работать. Получается очень много строк. Да и в цикле перезаписывать данные из DataTable в List<T> как то примитивно. Не знаю может как то с помощью LINQ можно сразу сделать запрос и на выходе получить список, не таблицу? Прости если плохо выражаю свои мысли, но я только учусь, точнее пытаюсь увеличить кругозор
23 мар 11, 13:06    [10413442]     Ответить | Цитировать Сообщить модератору
 Re: Select из MS SQL базы в List<T>  [new]
2king2
Member

Откуда:
Сообщений: 545
Хм, что похожее

var query = (
       from user in session.Linq<User>()
       select user.Name
     ).ToList();
23 мар 11, 13:11    [10413481]     Ответить | Цитировать Сообщить модератору
 Re: Select из MS SQL базы в List<T>  [new]
stimpi
Member

Откуда: Киев, Украина
Сообщений: 662
вам нужна ORM, вам подойдет умирающая LinqToSql, но все равно на низком уровне будет DataReader, который обернут з вас реализацие linq :)
23 мар 11, 14:14    [10413889]     Ответить | Цитировать Сообщить модератору
 Re: Select из MS SQL базы в List<T>  [new]
bured
Member

Откуда:
Сообщений: 24297
Можно руками заполнять лист в цикле
23 мар 11, 14:17    [10413902]     Ответить | Цитировать Сообщить модератору
 Re: Select из MS SQL базы в List<T>  [new]
2king2
Member

Откуда:
Сообщений: 545
То есть современной альтернативы SqlCommand нет?
23 мар 11, 14:52    [10414110]     Ответить | Цитировать Сообщить модератору
 Re: Select из MS SQL базы в List<T>  [new]
stimpi
Member

Откуда: Киев, Украина
Сообщений: 662
я писал свой маппер по атрибутам DataTable->Class но это тот же принцип что и ORM, поэтому ответ "НЕТ".
23 мар 11, 15:49    [10414598]     Ответить | Цитировать Сообщить модератору
 Re: Select из MS SQL базы в List<T>  [new]
2king2
Member

Откуда:
Сообщений: 545
stimpi
я писал свой маппер по атрибутам DataTable->Class но это тот же принцип что и ORM, поэтому ответ "НЕТ".


Ок спс, будем копать, сейчас ветер дует в сторону ADO.NET Entity Framework
23 мар 11, 16:06    [10414709]     Ответить | Цитировать Сообщить модератору
 Re: Select из MS SQL базы в List<T>  [new]
bured
Member

Откуда:
Сообщений: 24297
2king2
То есть современной альтернативы SqlCommand нет?

Такой вопрос наводит на мысль о вашей некомпетентности.
Можно рассматривать Ридер и Адаптер как альтернативы селектов, хотя последний внутри себя использует ридер для чтения.

2king2
Ок спс, будем копать, сейчас ветер дует в сторону ADO.NET Entity Framework

конечно хватайте в руки гранату, раз не смогли руками заполнить лист в цикле.
24 мар 11, 01:24    [10416578]     Ответить | Цитировать Сообщить модератору
 Re: Select из MS SQL базы в List<T>  [new]
2king2
Member

Откуда:
Сообщений: 545
bured
2king2
То есть современной альтернативы SqlCommand нет?

Такой вопрос наводит на мысль о вашей некомпетентности.
Можно рассматривать Ридер и Адаптер как альтернативы селектов, хотя последний внутри себя использует ридер для чтения.

2king2
Ок спс, будем копать, сейчас ветер дует в сторону ADO.NET Entity Framework

конечно хватайте в руки гранату, раз не смогли руками заполнить лист в цикле.


Да вы видите меня насквозь. Небольшой диалог с умным человеком заменят 2-3 книги. Ридер это постфактум. Меня интересует если возможность обращаться к базе не используя SQL язык "SELECT * FROM"

Вопрос со списком я решил вот так пока

DataTable dt;
var command = new SQLiteCommand(sql, connect);
var adapter = new SQLiteDataAdapter(command);
adapter.Fill(dt);
IEnumerable<DataRow> sequence = dt.AsEnumerable();
24 мар 11, 10:42    [10417201]     Ответить | Цитировать Сообщить модератору
 Re: Select из MS SQL базы в List<T>  [new]
bured
Member

Откуда:
Сообщений: 24297
автор
Меня интересует если возможность обращаться к базе не используя SQL язык "SELECT * FROM"

Попробуйте EF тогда. Хотя с ADO.NET всё-таки разберитесь для полноты кругозора.
24 мар 11, 10:50    [10417234]     Ответить | Цитировать Сообщить модератору
 Re: Select из MS SQL базы в List<T>  [new]
ShSerge
Member

Откуда: ʚонɔ dиw
Сообщений: 24911
bured
автор
Меня интересует если возможность обращаться к базе не используя SQL язык "SELECT * FROM"

Попробуйте EF тогда. Хотя с ADO.NET всё-таки разберитесь для полноты кругозора.

Ты бы лучше посоветовал человеку разобраться с SQL, в первую очередь. Хотя бы, для жалкого подобия широты кругозора.
ПС. "SELECT *..." - уже два балла. Селектить поля нужно только необходимые, а не все.
ППС. Я обалдеваю, какая офигенная проблема - список заполнить значениями! Да, без ОРМ или Линку или НХибернейта с ЕФ - никак.
27 мар 11, 11:43    [10429051]     Ответить | Цитировать Сообщить модератору
 Re: Select из MS SQL базы в List<T>  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
10281093
28 мар 11, 00:32    [10431088]     Ответить | Цитировать Сообщить модератору
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить