1

鉴于此架构:

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

Statuses
 - StatusID      INT PK
 - StatusName    NVARCHAR(30)

如果我有一个FruitIDint(只是一个 int,而不是一个 Fruit 对象),我如何在不先从数据库加载 Fruit 对象的情况下更新FruitName和 null 出来?FruitStatusID

注意:这个解决方案让我走得很远,但我不知道如何清空 FK 列。

用 C# 或 VB 回答,谢谢!

4

1 回答 1

0

这可行,但似乎不必要地复杂:

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

肯定有更好的办法!

(注意:奇怪的注释语法仅适用于代码高亮——它不喜欢 VB 风格的注释)

于 2009-05-06T17:38:48.903 回答