¿Cómo actualizo una fila SQL con una ID con LINQ to SQL?
-
06-07-2019 - |
Pregunta
Dado este esquema:
Fruits
- FruitID INT PK
- FruitName NVARCHAR(30)
- FruitStatusID INT NULL FK: Statuses
Statuses
- StatusID INT PK
- StatusName NVARCHAR(30)
Si tengo un FruitID
en la mano (solo un int, no un objeto Fruit), ¿cómo actualizo el FruitName
y anulo FruitStatusID
sin cargar primero el objeto Fruit de la base de datos?
Nota: esta solución me lleva bastante lejos, pero no puedo entender cómo anular una columna FK.
Respuestas en C # o VB, ¡gracias!
Solución
Esto funciona pero parece innecesariamente complicado:
''//initialize the values I'm going to null out to something
Dim Tag As Data_Tag = New Data_Tag() With {
.Data_Tag_ID = DataTagID,
.Last_Error_DateTime = New DateTime(),
.Last_Error_Message = "",
.Last_Error_Severity_Type_ID = -1 }
''//start change tracking
DB.Data_Tags.Attach(Tag)
''//record changes to these properties (must be initialized above)
Tag.Last_Error_DateTime = Nothing
Tag.Last_Error_Message = Nothing
Tag.Last_Error_Severity_Type_ID = Nothing
DB.SubmitChanges()
¡Seguramente hay una mejor manera!
(nota: la sintaxis de comentarios extraños es únicamente para el código highliger - no le gustan los comentarios de estilo VB)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow