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!

¿Fue útil?

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
scroll top