|
Проблема со столбцом типа TIMESTAMP.
|
|||
---|---|---|---|
#18+
У меня есть такая проблема: я из C# приложения (использующего Entity Framework 6) хочу вызвать SQL процедуру, в которой есть табличный параметр, использующий user-defined table type. То есть: существует user-defined table type: Код: sql 1. 2. 3.
И он используется в моей процедуре так: Код: sql 1.
Из C# приложения я его вызываю так (используя DbContext.Database.ExecuteSqlCommand): Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
И всё работает хорошо. Но недавно в этот user-defined type [Work_Work] добавили новое поле - "[Concurrency] TIMESTAMP NOT NULL". Моей процедуре оно не нужно. Оно нужно некоей другой процедуре, которая не пишет в таблицу базы (как моя), а читает оттуда. В таблице базы есть поле “[Concurrency] TIMESTAMP NULL”; вот той “другой процедуре” понадобилось его вычитать, для чего его и добавили в тип [Work_Work]. Но вот мой C# код после этого перестал вызывать процедуру. Если оставить его как есть, то вызов “dbContext.Database.ExecuteSqlCommand” ругается на то что в типе [Work_Work] больше полей, чем я передаю в параметре “worksSqlParam” (что верно). (“Trying to pass a table-valued parameter with 1 column(s) where the corresponding user-defined table type requires 2 column(s)”) Если же я в C# коде добавлю в таблицу worksTable ещё и поле Concurrency, то при вызове “dbContext.Database.ExecuteSqlCommand” выскакивает другая ошибка – “Cannot insert an explicit value into a timestamp column. Use INSERT with a column list to exclude the timestamp column, or insert a DEFAULT into the timestamp column”. Причём это происходит в .NET, до того как моя SQL процедура вызвана. Можно ли как-то эту проблему решить? Как-то заставить .NET всё же вызвать мою процедуру? Ведь из TSQL я это сделать могу – там я могу написать код, который не станет “ insert an explicit value into a timestamp column”. Как мне добиться такого же поведения от .NET-а при вызове моей процедуры? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 14:19 |
|
|
start [/forum/topic.php?fid=17&fpage=3&tid=1349109]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 243ms |
total: | 366ms |
0 / 0 |