Я установил LINQ to SQL Debug Visualizer , чтобы узнать, какой именно запрос генерируется за сценой, и он был
{SELECT [t0].[version], [t0].[ID], [t0].[Volume], ... similarly rest of the columns
FROM [MyTable] AS [t0]
Это было странно, потому что у меня не было колонки версий в моей таблице (никогда). Я посмотрел в свою модель и обнаружил, что этот столбец определен
[Column(IsVersion = true)]
private Binary version;
Я удалил столбец, закомментировав эти две строки, и снова запустил приложение. В недавно сгенерированном SQL не было столбца version
, и мой запрос работал нормально.
Я использую SQLCEMangoCodeGenerator
для генерации классов LINQ to SQL. Я предполагаю, что в этом инструменте есть ошибка, из-за которой он сгенерировал дополнительный столбец, которого у меня не было в моей таблице