вставить несколько строк в базу данных DB2

Это не может работать, потому что ppCombined представляет собой набор объектов в памяти, и вы не можете присоединиться к набору данных в базе данных с другим набором данных, который находится в памяти. Вместо этого вы можете попытаться извлечь отфильтрованные элементы personProtocol коллекции ppCombined в память после , вы получили другие свойства из базы данных:

var persons = db.Favorites
    .Where(f => f.userId == userId)
    .Join(db.Person, f => f.personId, p => p.personId, (f, p) =>
        new // anonymous object
        {
            personId = p.personId,
            addressId = p.addressId,   
            favoriteId = f.favoriteId,
        })
    .AsEnumerable() // database query ends here, the rest is a query in memory
    .Select(x =>
        new PersonDTO
        {
            personId = x.personId,
            addressId = x.addressId,   
            favoriteId = x.favoriteId,
            personProtocol = ppCombined
                .Where(p => p.personId == x.personId)
                .Select(p => new PersonProtocol
                {
                    personProtocolId = p.personProtocolId,
                    activateDt = p.activateDt,
                    personId = p.personId
                })
                .ToList()
        });
30
задан Frantumn 31 July 2012 в 15:11
поделиться

1 ответ

Я не соглашаюсь относительно комментария, добавленного Хоганом. Те инструкции будут работать на Мини-IBM DB2, но он не имеет место DB2 Z/OS.

Вот пример:

Exception data: org.apache.ibatis.exceptions.PersistenceException:
The error occurred while setting parameters

SQL: INSERT INTO TABLENAME(ID_, F1_, F2_, F3_, F4_, F5_) VALUES
 (?,          1,          ?,          ?,          ?,          ?),          
 (?,          1,          ?,          ?,          ?,          ?)


Cause: com.ibm.db2.jcc.am.SqlSyntaxErrorException: 
ILLEGAL SYMBOL ",". SOME SYMBOLS THAT MIGHT BE LEGAL ARE: FOR <END-OF-STATEMENT> NOT ATOMIC. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.25.17

, Таким образом, я могу подтвердить, что встроенная запятая разделила объем, вставляет, не работают над DB2 Z/OS (возможно, Вы могли подать его некоторые опоры для получения его работающий...)

0
ответ дан 27 November 2019 в 22:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: