Está buscando ColumnAttribute.AutoSync. Si está utilizando el diseñador, marque cada columna para una propiedad de sincronización automática y configúrelo en Nunca.
Edit: Ok, eso no funcionó para usted. ¡Prepárate para hackear mapas!
cuando inserto con alguna columna de clave principal autogenerado, consigo este SQL:
INSERT INTO [dbo].[TableName](fieldlist)
VALUES (@p0, @p1, @p2, @p3, @p4)
SELECT CONVERT(Int,SCOPE_IDENTITY()) AS [value]
Según entiendo su petición, que no quieren que SELECT
Intento 1: Fui a la campo de clave principal y establecer autogenerado en falso. Esto provocó una excepción Sql "No se puede insertar un valor explícito para la columna de identidad en la tabla 'TableName' cuando IDENTITY_INSERT está establecido en OFF." En otras palabras, linq especificó un valor para esa columna.
Intento 2: Eliminé las columnas autogeneradas del diseñador. Esto causó que Linq me diera una Excepción de Operación Inválida: "No se puede realizar Crear, Actualizar o Eliminar operaciones en 'Tabla (TableName)' porque no tiene clave primaria."
Intento 3: borré las columnas autogeneradas del diseñador, luego marqué otra columna como clave principal. Aunque esta columna no es una clave principal en la base de datos, DataContext de LINQ la usará para rastrear la identidad de la fila. Debe ser único para los registros observados de un DataContext dado.
Este tercer intento genera el siguiente código SQL (que es lo que pide)
INSERT INTO [dbo].[TableName](fieldlist)
VALUES (@p0, @p1, @p2, @p3, @p4)
Gracias por la sugerencia. Lo hice, pero el generador de perfiles aún muestra una selección después de las dos inserciones y actualizaciones. No sé por qué. –
Tengo dos columnas marcadas que tienen AutoGeneratedValue establecido en verdadero. La instrucción select selecciona estas dos columnas después de las inserciones y actualizaciones, aunque AutoSync está configurado en falso. –
Parece una cantidad ridícula de trabajo por algo que hubiera funcionado de la manera correcta la primera vez que utilicé ADO.Net – Jasmine