В настоящее время я сталкиваюсь с неправильным поведением 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-файла или подобного?