Вы ищете ColumnAttribute.AutoSync . Если вы используете дизайнер, проверьте в каждом столбце свойство автосинхронизации и установите для него значение Никогда.
Edit:
Хорошо, это не сработало для вас. Приготовьтесь к хакерской работе с картами!
Когда я вставляю с некоторым автоматически сгенерированным столбцом первичного ключа, я получаю этот SQL:
INSERT INTO [dbo].[TableName]( fieldlist )
VALUES (@p0, @p1, @p2, @p3, @p4)
SELECT CONVERT(Int,SCOPE_IDENTITY()) AS [value]
Как я понимаю ваш запрос, вы не хотите этот SELECT
Попытка 1: я перешел в поле первичного ключа и установил для автоматически сгенерированного значения значение false. Это вызвало исключение Sql «Невозможно вставить явное значение для столбца идентификаторов в таблице« TableName », когда для IDENTITY_INSERT задано значение OFF». Другими словами, linq указал значение для этого столбца.
Попытка 2: я удалил автоматически сгенерированные столбцы из конструктора. Это привело к тому, что Linq выдал мне исключение недопустимой операции: «Не удается выполнить операции создания, обновления или удаления над« Table (TableName) », поскольку у него нет первичного ключа».
Попытка 3: я удалил автоматически сгенерированные столбцы из конструктора, затем пометил другой столбец как первичный ключ. Хотя этот столбец не является первичным ключом в базе данных, LINQ DataContext будет использовать его для отслеживания идентичности строк. Он должен быть уникальным для наблюдаемых записей данного DataContext.
Эта третья попытка сгенерировала следующий SQL (который вы запрашиваете)
INSERT INTO [dbo].[TableName]( fieldlist )
VALUES (@p0, @p1, @p2, @p3, @p4)