C# 在visual studio中使用LINQ到SQL进行删除
我正在VisualStudio中使用LINQtoSQL与我的数据库交互。现在我在代码中添加了添加、更改等方法,但我无法删除行。以下是我的删除方法:C# 在visual studio中使用LINQ到SQL进行删除,c#,.net,linq,linq-to-sql,C#,.net,Linq,Linq To Sql,我正在VisualStudio中使用LINQtoSQL与我的数据库交互。现在我在代码中添加了添加、更改等方法,但我无法删除行。以下是我的删除方法: public bool removeUser(User toBeRemoved) { try { theDBDataContext db = new theDBDataContext(); UserDB u = new UserDB(); u.username = toBeRemoved
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();
请参阅。删除前必须附加实体:
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();
您可以使用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();
可以提供函数“DeleteOnSubmit(u)”吗?可以提供函数“DeleteOnSubmit(u)”吗?还可以从db中选择实体。@CihanYakar,这意味着不需要第二次查询。@DavidG完全适合此场景。但是,当您通过属性启用并发检查,并且UserDB类具有除用户名和密码以外的任何属性时,此方法将不会删除任何内容。您也可以从db中选择实体。@CihanYakar,这意味着不需要第二次查询。@DavidG完全适合此场景。但是,当您通过属性启用并发检查,并且当UserDB类具有除用户名和密码之外的任何属性时,此方法将不会删除任何内容。