[英]deletion with LINQ to SQL in visual studio
我在visual studio中使用LINQ to SQL與我的數據庫進行交互。 現在我添加了添加,更改等代碼到我的代碼的方法,但我不能刪除一行。 這是我的刪除方法:
public bool removeUser(User toBeRemoved)
{
try
{
theDBDataContext db = new theDBDataContext();
UserDB u = new UserDB();
u.username = toBeRemoved.userName;
u.password = toBeRemoved.password;
u.role = toBeRemoved.role;
db.UserDBs.DeleteOnSubmit(u);
db.SubmitChanges();
return true;
}
catch (Exception e)
{
Log.writelog("Cannot Access DB");
return false;
}
}
您必須在刪除前附加實體:
theDBDataContext db = new theDBDataContext();
UserDB u = new UserDB();
u.username = toBeRemoved.userName;
u.password = toBeRemoved.password;
u.role = toBeRemoved.role;
db.Orders.Attach(u, false);
db.UserDBs.DeleteOnSubmit(u);
db.SubmitChanges();
請參閱此處的文檔
您可以使用Linq的擴展方法刪除記錄。
theDBDataContext db = new theDBDataContext();
UserDB u = db.UserDBs.Where(u=>(u.username == toBeRemoved.userName & u.password == toBeRemoved.password & u.role==toBeRemoved.role)).FirstOrDefault();
db.UserDBs.DeleteOnSubmit(u);
db.SubmitChanges();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.