que he estado tratando de insertar una fila en la tabla que tiene una columna de identidad RequestID (que es clave primaria también)No se puede realizar de creación, actualización o supresión en la tabla, ya que no tiene clave primaria
HelpdeskLog logEntry = new HelpdeskLog { RequestBody = message.Body };
if (attachment != null)
logEntry.Attachments = Helper.StreamToByteArray(attachment.ContentStream);
Database.HelpdeskLogs.InsertOnSubmit(logEntry);
Pero mi código produce inevitablemente siguiente error
no se puede realizar de creación, actualización o supresión en la tabla, ya que no tiene clave primaria.
pesar de columna de clave principal existe de hecho
Eso es lo que he intentado hacer:
- que mirar en depurador el valor de columna de identidad que se inserta en el modelo de objetos. Es 0
- Para insertar valores falsos manualmente (con SQL) en la tabla - funciona bien, los valores de identidad se generaron como se esperaba
- Para asegurar si SQLMetal ha generado correctamente el mapa de tablas. Todo bien, el atributo de clave principal se genera correctamente
Sin embargo, ninguno de los enfoques ayudó. ¿Cuál es el truco? ¿Alguien sabe?
¡Gracias! Mi código se veía un poco diferente, pero el principal era el mismo '[global :: System.Data.Linq.Mapping.ColumnAttribute (Storage =" _ID ", DbType =" UniqueIdentifier NOT NULL ", IsPrimaryKey = true)]' hizo el truco. –