[英]Is this query from database using EF correct?
我可以問一下這是否是使用EF刪除整個數據庫表的正確方法嗎? 部門表通過DepartmentID將Facility加入設施,部門表通過FacilityID將設施預訂加入設施,我需要從設施預訂表中刪除所有記錄。 有人可以指導我,告訴我這是否正確嗎? 謝謝!
db.Database.ExecuteSqlCommand(
"DELETE FacilityReservation FROM Department INNER JOIN Facility ON Department.DepartmentID = Facility.DepartmentID " +
"INNER JOIN FacilityReservation ON Facility.FacilityID = FacilityReservation.FacilityID WHERE Department.DepartmentID =" + departmentID);
不,當然不是,您需要從<TABLENAME>刪除,並且在進行聯接時,需要另一個“ FROM <Table>”。
您可能想要這樣:
DELETE FROM FacilityReservation
INNER JOIN Facility
ON Facility.FacilityID = FacilityReservation.FacilityID
INNER JOIN Department
ON Department.DepartmentID = Facility.DepartmentID
WHERE Department.DepartmentID = @departmentID;
從您的SQL語句看來,可以從Facility表中檢索DepartmentID。 因此,您的SQL語句可能相當簡單,例如:
DELETE a
FROM FacilityReservation a
INNER JOIN Facility b ON a.FacilityID = b.FacilityID
WHERE b.DepartmentID = @departmentID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.