Question

Étant donné ce schéma:

Fruits
 - FruitID       INT PK
 - FruitName     NVARCHAR(30)
 - FruitStatusID INT NULL FK: Statuses

Statuses
 - StatusID      INT PK
 - StatusName    NVARCHAR(30)

Si j'ai un FruitID en main (juste un objet int, pas un objet Fruit), comment puis-je mettre à jour le FruitName et annuler la sortie FruitStatusID sans charger d’abord l’objet Fruit de la base de données?

Remarque: cette solution . me fait assez loin, mais je ne peux pas comprendre comment supprimer une colonne FK.

Réponses en C # ou VB, merci!

Était-ce utile?

La solution

Cela fonctionne mais semble inutilement compliqué:

''//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()

Il existe sûrement un meilleur moyen!

(note: la syntaxe de commentaire étrange est uniquement pour le code highliger - il n'aime pas les commentaires de style VB)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top