Comment mettre à jour une ligne SQL à l'aide d'un ID avec LINQ to SQL?
-
06-07-2019 - |
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!
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