我無法弄清楚你在linq-to-sql中如何做到這一點。更新外鍵列
簡單的外鍵示例如下。
CARS TABLE
Columns - CARID (PK), NAME, SIZE, MODELID(FK)
MODELS TABLE
Columns MODELID(PK), MODELNAME
更改SQL車的型號我會
UPDATE CARS
SET MODELID = 'MODEL88'
WHERE CARID = 'CAR01'
在LINQ到SQL我試圖做同樣的事情,但更新不工作。
Car car = db.Cars.Where(x => x.CarId == "CAR01").FirstOrDefault();
Model model = db.Models.Single(c => c.ModelId == "MODEL88");
car.Model = model;
db.SubmitChanges();
沒有例外,它只是不做更新。更新不是外鍵的其他字段可以工作,例如尺寸。
Car car = db.Cars.Where(x => x.CarId == "CAR01").FirstOrDefault();
car.Size = "22";
db.SubmitChanges();
父類:模型子類:汽車在dbml中,我會嘗試.Add現在加入 – Hoody 2012-04-25 10:19:59
.Add(汽車)不起作用 – Hoody 2012-04-25 10:45:04
您的答案有幫助,因爲它表明我沒有做錯任何事。從頭開始重新創建所有東西,所以一定會損壞。 – Hoody 2012-04-26 15:11:18