Re: LINQ to SQL
От: Flem1234  
Дата: 27.11.09 15:35
Оценка:
Здравствуйте, Karp_P, Вы писали:

K_P>Все отрабатывает хорошо. Но если мне нужна не одна колонка из строки а все, то что я должен каждую колонку описывать в классе-приемнике?!! На ADO.NET этот вопрос решался элементарно. Объявлялся объект класса DataTable и просто передавался в объект SqlDataAdapter. Всё! А тут как?


Там дизайнер есть — пец и готово! Классы создаются автоматически на основании таблиц в БД.
Re[12]: LINQ to SQL
От: Lloyd Россия  
Дата: 27.11.09 16:18
Оценка: +1
Здравствуйте, Karp_P, Вы писали:

K_P>Я тоже уже писал, что с ЛИНКом только разбираюсь и что не всё еще понимаю! Потому, ясен перец, спрашиваю у знающих! Так же я писал, что не понимаю, что значит "де-факто в приложении будут определены эти сущности"! И описал элементарную ситуацию, когда мне нужны все колонки или часть из них. У меня в приложении на АДО.НЕТ с самого начала (ПЕРВЫМ действием) выбираются строки из большой таблицы. Пускай не из всех колонок, но и то что выбирается количеством равно 10. Если запрашивать через ЛИНК, то, блин, лучше уж как есть через АДО, потому как описывать класс с десятью свойствами — это большой кусок кода и выигрыша я не заметил, кроме явной типизации . Так же я представил простенький запросик на адо когда ВСЕ это делается в 7 строк кода. И потом делай что хочешь с этой таблицей. Так же я писал, что не понимаю такого поведения ЛИНКа, если он пришел в качестве альтернативы АДО!! Вместо 7 строк кода целых 26!!! это ли улучшение?!! Вот чего я не понимаю!


Ты описываешь ситуацию, которой на самом деле не существует, она надуманная. Де-факто, у тебя всегда будет также создание/удаление сущностей, для которых все равно ты будешь заводить кужные классы. А раз так, то и не будет проблемы с получение произвольных выборок.
Re[15]: LINQ to SQL
От: Karp_P  
Дата: 30.11.09 10:42
Оценка:
Здравствуйте, IvanDunaev, Вы писали:


ID>project — add new item — data — linq to sql classes


ID>студия сгенерирует классы для указанных таблиц



О! Вот то, что нужно! Большое спасибо!!!

Еще вопрос в догонку.
Используя, "старый" подход на АДО.НЕТ для выполнения запроса необходимо было создать подключение. И хорошим (да, что там! Обязательным) тоном было использование using для контроля правильности выполнения кода и последующего обязательного особождения подключения. То есть

     using (SqlConnection sqlCon = new SqlConnection(stringConnection))
     {
          //какие-то действия
     }


в ЛИНКе я так понял эту функцию выполняет DataContext. Т.е.

            DataClasses1DataContext dc1DContext = new DataClasses1DataContext();
            
            var date =
                    from sup in dc1DContext.Suppliers
                    where sup.CompanyName.StartsWith("L")
                    orderby sup.CompanyName
                    select sup;

            foreach(var d in date)
                Console.WriteLine("Date = " + d.CompanyName );


инициализируем DataContext, описываем запрос, ну и потом уже выполняем его в foreach'е ...
Нужно здесь каким-то образом "перестраховываться" с помощью подобным using'у конструкциям или же ЛИНК скрывает от нас этот функционал и проблем нет?....
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.