В Linq to SQL DataContext отсутствует предложение SET при вызове SubmitChanges - PullRequest
0 голосов
/ 23 января 2019

В настоящее время я сталкиваюсь с неправильным поведением C # Linq to SQL DataContext при получении набора данных, его изменении и вызове SubmitChanges для сохранения изменений обратно в базу данных.

Я искал вокруг и нашел этот SO-вопрос , указывающий почти на мою точную проблему.

Краткое описание:

  • Я использую Linq to SQL с SQLite, поэтому без Designer, предлагаемого VisualStudio
  • Я создаю соединение с базой данных в памяти
  • Я использую класс, производный от DataContext, который принимает соединение с базовым классом, и свойство Table, отображающее реальную таблицу
  • Я использовал свойство Log для получения фактической команды, отправленной в базу данных, которая выглядит следующим образом:

    UPDATE [Roles]
    SET 
    WHERE ([Id] = @p0) AND ([Name] = @p1)
    -- @p0: Input String (Size = 4000; Prec = 0; Scale = 0) [ea34d99e-8ad5-4fa7-83f3-5cf3ac282da6]
    -- @p1: Input String (Size = 4000; Prec = 0; Scale = 0) [Role 1]
    -- Context: SqlProvider(Sql2008) Model: AttributedMetaModel Build: 4.7.3056.0
    

Как видите, предложение SET пустое, чего я не могу понять в данный момент.

Поскольку я совершенно уверен, что для понимания проблемы требуется больше информации, не стесняйтесь спрашивать меня об этом, я был бы более чем рад получить вас на борту.

Есть ли шанс получить код здесь в виде zip-файла или подобного?

1 Ответ

0 голосов
/ 24 января 2019

Переход на Entity Framework решил проблему.

...