私は2つのテーブルcar
とowner
を持っています。 Car
表はFKとしてOwnerId
を使用します。EF linq、Idに関連するオーナーIDをすべて削除
を削除するには、OwnerId
に関連する車を削除する必要があります。
Car
テーブルから関連するすべての行をポイントし、それらをすべて削除するにはどうすればよいですか?私の知る限りでは、最初の行でエラーが出ます:
(それは多くの関係への一つだ、多くの車が同じOwnerId
を持つことができます)
Car car = db.Cars.Where(c => c.OwnerId == id); //this gives me error:
db.Cars.Remove(car);
db.SaveChanges();
Owner owner = db.Owners.Find(id);
db.Owners.Remove(owner);
db.SaveChanges();
エラーは言う:cannot convert from System.Linq.IQueryable<X.Models.Car> to <X.Models.Car>
。特定のId
に関連するすべての車を削除するにはどうすればよいですか?
ルックどこ表現の戻り値の型ですべての車を得ます。それは車と同じですか?いいえ。代わりにvar car = db.Cars.Where(x => c.OwnerId == id)を使用してください。 –
カスケード削除していませんか? –