
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
27.10.2012, 12:34
|
|||
|---|---|---|---|
Linq и @@Identity |
|||
|
#18+
Добрый день! Имеется ли в LINQ средство для того, что бы прочитать автоинкрементное ключевое поле после создания в таблице новой строки? В T-SQL это делается элементарно SELECT @temp=@@Identity А вот как это сделать в Linq, то есть не прибегая к построению хранимой процедуры - не пойму. Может это вообще невозможно - нет такого языкового средства? Фрагмент кода: Table_2 t = new Table_2 { НазваниеТовара = textBox2.Text }; _db.Table_2s.InsertOnSubmit(t); labelIdentity.Text = _db.НовоеЗначениеИнкремента().ToString(); _db.SubmitChanges(); Хранимая процедура: CREATE FUNCTION [dbo].[НовоеЗначениеИнкремента] ( ) RETURNS int AS BEGIN DECLARE @temp int SELECT @temp = @@IDENTITY RETURN @temp END Это не работает в приведённом коде на C# после _db.Table_2s.InsertOnSubmit(t) Видимо ...Submit(...) чистит всё. Что посоветуете? Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.10.2012, 13:04
|
|||
|---|---|---|---|
|
|||
Linq и @@Identity |
|||
|
#18+
после _db.Table_2s.InsertOnSubmit(t); t.id апдейтится должна, если в самой таблице счётчик стоит, а не триггер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.10.2012, 13:36
|
|||
|---|---|---|---|
Linq и @@Identity |
|||
|
#18+
Erik_Kartmann, Действительно стоит счётчик, то есть на уровне Linq никак, а нужно модифицировать таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.10.2012, 10:46
|
|||
|---|---|---|---|
Linq и @@Identity |
|||
|
#18+
Erik_Kartmann, Для данного частного случая (инкрементный счётчик) решил проблему используя функцию MAX(...) DECLARE @temp int SELECT @temp = MAX(НомерТовара) FROM dbo.Table_2 RETURN @temp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.10.2012, 11:55
|
|||
|---|---|---|---|
Linq и @@Identity |
|||
|
#18+
ValGer, зачем лишний запрос? у вас есть новая сущность NewEntity. После Submit() у нее будет идентификатор, который назначит БД. Не совсем вопрос понятен ваш ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.11.2012, 07:57
|
|||
|---|---|---|---|
Linq и @@Identity |
|||
|
#18+
ValGerErik_Kartmann, Для данного частного случая (инкрементный счётчик) решил проблему используя функцию MAX(...) DECLARE @temp int SELECT @temp = MAX(НомерТовара) FROM dbo.Table_2 RETURN @temp НИКОГДА так не делай!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=17&tablet=1&tid=1350195]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
156ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 480ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...