powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ 2 SQL и большой объём данных
4 сообщений из 4, страница 1 из 1
LINQ 2 SQL и большой объём данных
    #37151630
PhoenixNET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.
Хочу попросить подсказки сразу по двум вопросам:
1) Есть большой объём данных, который вносится в БД при помощи L2S. Если возникает нестыковка в одной записи, весь SubmitChanges() слетает. Есть ли возможность разрешать L2S сохранять все валидные значения? Ну и, как идеал, отдельно получать список невалидных значений до или после сабмита.

2) В одной из таблиц есть ячейка [EventDate][DateTime][NOT NULL]. При внесении данных возникает ошибка: "Переполнение SqlDateTime. Должно находиться в пределах от 1/1/1753 12:00:00 AM и 12/31/9999 11:59:59 PM.". Ставил проверку на данные, все значения этого поля удовлетворяют условию, да и ошибка возникает не всегда, а в каких-то неопределённых условиях. Лог говорит:
Код: plaintext
1.
2.
3.
4.
5.
6.
INSERT INTO [dbo].[ev_Prices]([PricePropertyID], [EventDate], [CheckInDate], [LastViewedDate], [Price], [IsActive])
VALUES (@p0, @p1, @p2, @p3, @p4, @p5)

SELECT CONVERT(Int,SCOPE_IDENTITY()) AS [value]
-- @p0: Input Int (Size = 0; Prec = 0; Scale = 0) [176730]
A first chance exception of type 'System.Data.SqlTypes.SqlTypeException' occurred in System.Data.Linq.dll

PricePropertyID - FK, LastViewedDate = DateTime.Now, остальные 2 даты, как показывают проверки, всегда приходят заполненными, но на какой-то из записей слетает SubmitChanges(). Собственно, вопрос: Можно ли узнать, какая именно запись ошибочная?
...
Рейтинг: 0 / 0
LINQ 2 SQL и большой объём данных
    #37151775
PhoenixNET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2-ой вопрос утратил свою актуальность.
...
Рейтинг: 0 / 0
LINQ 2 SQL и большой объём данных
    #37152566
DontAskMe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PhoenixNET,

Вызывай SubmitChanges() не один раз в конце, а в for/foreach после InsertOnSubmit. Ну и, конечно, всю эту красоту в try/catch запихни. А вообще, если записей много, вставлять таким способом очень долго. Гораздо быстрее создать хранимку на сервере, которая будет делать нужный insert и с клиента вызывать эту хранимку. Тогда уже никаких Submit'ов не понадобится.
...
Рейтинг: 0 / 0
LINQ 2 SQL и большой объём данных
    #37154494
PhoenixNET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DontAskMeВызывай SubmitChanges() не один раз в конце, а в for/foreach после InsertOnSubmit.

Не вариант. Во1ых это наверняка будет намного дольше, чем сабмит одним скопом, во2ых - это как бы нивелирует все преимущества ORM. Поэтому же не хочу браться за процедуры. Один бизнес-объект разбивается на довольно крупную структуру в БД и написание всей этой логики на хранимках займёт значительно больше времени, чем было потрачено на L2S.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ 2 SQL и большой объём данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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