asp.net – 如何删除linq到sql?
|
我非常新的 linq到sql,我不知道如何实际删除一个记录. 所以我一直在看这个教程 http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx 所以对于更新他们有 NorthwindDataContext db = new NorthwindDataContext(); Product product = db.Products.Single(p => p.ProductName == "Toy 1"); product.UnitPrice == 99; product.UnitsInStock = 5; db.SubmitChanges(); 删除他们有 NorthwindDataContext db = new NorthwindDataContext();
var toyProducts = from p in db.Producsts
where p.ProductName.Contains("Toy")
select p;
db.Products.RemoveAll(toyProducts);
db.SubmitChanges();
所以我每次都要查询,以获取记录,以便删除该记录?像我可以看到这样做与更新,因为你需要给它一个记录先更新,然后进行更改,所以我了解查询部分,但不是删除. 喜欢你不能发送你想要删除的东西,它会删除它吗?你为什么要先得到它,然后告诉它被删除? 数据库上没有2个命中? 还有我正在努力工作的外交关系.所以我有这个 public ViewResult(string param1,string param2)
{
Table A = new Table A
A.Field1 = param1;
A.Field2 = param2;
Delete(A);
}
private void Delete(Table A)
{
DbContext.A.DeleteAllOnsubmit(A.TableB);
DbContext.A.DeleteAllOnSubmit(A.TableC);
DbContext.A.DeleteOnSubmit(A);
}
所以这个失败就出现了这样的消息:“无法删除未附加的实体”. 所以我可以看到为什么前两行在delete方法中失败,因为我创建了一个新对象,而且它们在对象中没有任何有关TableB和TableC的信息. 然而,我看不出为什么最后一行仍然失败,即使不在那里的另外两条线. 就像我以为它会工作的一样,它将需要我的Table A类对象,我传入并查看表中包含的信息.这似乎并非如此. 那么我首先要把信息拿出来,然后做一个查询来得到它,然后删除它,就像在例子中一样? removeAll()和DeleteAllOnSubmit()之间的区别也是如此. 就像我说的,我是linq到sql的新手,由于时间限制,还没有能够坐下来读一本书.一旦我有更多的时间,我将会阅读一本书. 谢谢 解决方法您有一个问题有几个问题,但是如果您已经拥有主键,我将从最简单的关于附件开始.如果你没有主键,那么我一直只是做一个提取,然后删除,但是,每当我做一个提取,我倾向于存储更新和删除的主键.它将删除主键,但是如果你有这样的话,那么只需像下面的那样添加,然后调用delete.我不会传递DLINQ所需的对象,因为我想要更改它,如果我想要的,所以我传递一个不同的用户对象,只是从业务类拉扯PK并将其放入DAO类. var db = new MeatRequestDataContext();
if (input.UserID > 0)
{
entity = new User()
{
UserID = input.UserID
};
db.Users.Attach(entity);
db.Users.DeleteOnSubmit(entity);
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 如何填充/验证您的ViewModels?
- asp.net-mvc – 编译时mvc视图检查与msbuild
- 在asp.net中使用加密数据库联接字符串保证数据安全
- ASP.NET MVC 4和会话安全漏洞
- asp.net-mvc – Sql Views的流畅Nhibernate映射
- asp.net – IIS(动态和静态)缓存,OutPutCache和浏览器缓存之
- asp.net-mvc – 具有SelectList(s)最佳实践的ASP.NET MVC V
- Asp.net – 尝试访问工作网页时出错
- 实体框架 – 为什么没有[Authorize(Roles =“Admin”)]在具
- 用于属性的ASP.NET MVC编辑器模板
- asp.net – 从域到www.domain的全局301重定向
- asp.net-mvc – 什么是ASP.Net MVC查看引擎?
- asp.net – EF在现实生活中,我想相信(有没有人有
- asp.net – MVC ViewModel错误 – 没有为此对象定
- asp.net – FindControl()返回null
- asp.net-mvc-3 – FluentValidation – 验证跨多
- asp.net-mvc – 用静态项绑定Html.DropDownList
- 让OData和NHibernate结合进行动态查询
- asp.net – WebResource.axd空白或找不到
- asp.net – Visual Studio 2010图表控件:使Y轴成
