Como faço para atualizar uma linha SQL dado um ID com LINQ to SQL?
-
06-07-2019 - |
Pergunta
Diante desse esquema:
Fruits
- FruitID INT PK
- FruitName NVARCHAR(30)
- FruitStatusID INT NULL FK: Statuses
Statuses
- StatusID INT PK
- StatusName NVARCHAR(30)
Se eu tiver um FruitID
na mão (apenas um int, e não um objeto de frutas), como faço para atualizar o FruitName
e nulos fora FruitStatusID
sem carregar o objeto fruto do banco de dados em primeiro lugar?
Nota: esta solução me fica bastante longe, mas eu não consigo descobrir como nulo fora uma coluna FK.
Respostas em C # ou VB, obrigado!
Solução
Isso funciona, mas parece desnecessariamente 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()
Certamente há uma maneira melhor!
(nota: o comentário sintaxe estranho é apenas para o highliger código - ele não gosta de comentários VB-estilo)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow