Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更新外键列_C#_Linq To Sql - Fatal编程技术网

C# 更新外键列

C# 更新外键列,c#,linq-to-sql,C#,Linq To Sql,我不知道如何在LINQtoSQL中实现这一点 下面是一个简单的外键示例 CARS TABLE Columns - CARID (PK), NAME, SIZE, MODELID(FK) MODELS TABLE Columns MODELID(PK), MODELNAME 要在SQL中更改汽车的型号,我将 UPDATE CARS SET MODELID = 'MODEL88' WHERE CARID = 'CAR01' 在LINQtoSQL中,我试图做一些类似的事情,但更新不起作用 Ca

我不知道如何在LINQtoSQL中实现这一点

下面是一个简单的外键示例

CARS TABLE
Columns - CARID (PK), NAME, SIZE, MODELID(FK)


MODELS TABLE
Columns MODELID(PK), MODELNAME
要在SQL中更改汽车的型号,我将

UPDATE CARS
SET MODELID = 'MODEL88'
WHERE CARID = 'CAR01'
在LINQtoSQL中,我试图做一些类似的事情,但更新不起作用

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();
也许它会起作用:

Car car = db.Cars.Where(x => x.CarId == "CAR01").FirstOrDefault();
Model model = db.Models.Single(c => c.ModelId == "MODEL88");
car.ModelId = model.Id;
db.SubmitChanges();
也许它会起作用:

Car car = db.Cars.Where(x => x.CarId == "CAR01").FirstOrDefault();
Model model = db.Models.Single(c => c.ModelId == "MODEL88");
car.ModelId = model.Id;
db.SubmitChanges();

嗯,很奇怪。数据库中是否设置了关系?这是否反映在您的.DBML中

出于好奇,如果您将
汽车
添加到
车型
上的
汽车
集合,是否有效,如下所示:

Car car = db.Cars.Where(x => x.CarId == "CAR01").FirstOrDefault();
Model model = db.Models.Single(c => c.ModelId == "MODEL88");
model.Cars.Add(car)
db.SubmitChanges();

嗯,很奇怪。数据库中是否设置了关系?这是否反映在您的.DBML中

出于好奇,如果您将
汽车
添加到
车型
上的
汽车
集合,是否有效,如下所示:

Car car = db.Cars.Where(x => x.CarId == "CAR01").FirstOrDefault();
Model model = db.Models.Single(c => c.ModelId == "MODEL88");
model.Cars.Add(car)
db.SubmitChanges();

父类:模型子类:dbml中的汽车,我将尝试。立即添加您的答案很有帮助,因为它表明我没有做错什么。从头开始重新创建一切都有效,所以一定有东西被损坏了。父类:模型子类:dbml中的Car,我将尝试。立即添加您的答案很有帮助,因为它表明我没有做错什么。从头开始重新创建一切工作正常,因此某些内容一定已损坏。由于对象的当前状态,此返回操作无效。由于对象的当前状态,此返回操作无效。