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

Откуда:
Сообщений: 2
У меня стала задача обработки ошибок в программе использующей LINQ to SQL
В частности в кусках кода:
            foreach (LinksDataBaseProject.LinkTable n in _dataContextObject.LinkTables)
            {
                _linksHaveGlobals = _dataContextObject.LinkTables.Where(
                    item =>
                        item.id == _arrayGlobalsAccessory[elementNumber]
                        );
            }


            _listOfCrossing =
        from item in
            _dataContextObject.CrossingForLinks
        select item;

                _dataContextObject = new LinksBaseDataContext();


какие тут могут выбрасываться исключения и как их можно обработать?
16 июн 12, 21:01    [12725281]     Ответить | Цитировать Сообщить модератору
 Re: Обработка ошибок LINQ  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1879
Antrikot,

не уверен, но по-моему у тебя ни в первых двух случаях строится только дерево выражений.
При создании контекста может не найти строку соединения в файле конфигурации.
16 июн 12, 22:02    [12725525]     Ответить | Цитировать Сообщить модератору
 Re: Обработка ошибок LINQ  [new]
Antrikot
Member

Откуда:
Сообщений: 2
ну в первых двух случаях он строит выражение, но он данные для этого выражения все равно в БД запрашивает.
17 июн 12, 15:21    [12727117]     Ответить | Цитировать Сообщить модератору
 Re: Обработка ошибок LINQ  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1879
Antrikot,

Во 2м случае он вообще ничего не завпрашивает из базы.
Про 1й случай:
-Код бредовый.
-Действительно, запрос выполняется (foreach (LinksDataBaseProject.LinkTable n in _dataContextObject.LinkTables))
-Если попытаться выполнить запрос внутри цикла foreach (.First(), .ToList(), etc), то будет исключение, свзязанное с тем, что уже есть открытый DataReader (см выше)
17 июн 12, 16:40    [12727289]     Ответить | Цитировать Сообщить модератору
 Re: Обработка ошибок LINQ  [new]
Deza
Member

Откуда:
Сообщений: 814
Antrikot
У меня стала задача обработки ошибок в программе использующей LINQ to SQL
В частности в кусках кода:
            foreach (LinksDataBaseProject.LinkTable n in _dataContextObject.LinkTables)
            {
                _linksHaveGlobals = _dataContextObject.LinkTables.Where(
                    item =>
                        item.id == _arrayGlobalsAccessory[elementNumber]
                        );
            }


            _listOfCrossing =
        from item in
            _dataContextObject.CrossingForLinks
        select item;

                _dataContextObject = new LinksBaseDataContext();


какие тут могут выбрасываться исключения и как их можно обработать?


читать 19 главу:)
18 июн 12, 11:57    [12729870]     Ответить | Цитировать Сообщить модератору
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить