草庐IT

delete-cascade

全部标签

c# - LINQ 到 SQL : Delete entity (by ID) with one query

我使用LINQToSQL已经有一段时间了,当谈到从数据库中删除实体时,我总是调用表的.DeleteOnSubmit并传入实体。有时我发现自己在写类似这样的东西:db.Users.DeleteOnSubmit(db.Users.Where(c=>c.ID==xyz).Select(c=>c).Single());这当然会导致两个查询。一个获取符合条件的实体,然后另一个删除它。通常我有需要删除的记录的ID,我想知道是否有更直接的方法仅通过ID从表中删除行? 最佳答案 通过附加部分对象并将其删除,无需手动工具SQL即可执行此操作:varm

c# - EF 代码首先是 : How to delete a row from an entity's Collection while following DDD?

场景是这样的:DDD声明您使用存储库获取聚合根,然后使用它来添加/删除它拥有的任何集合。添加很简单,您只需在要添加到的Collection上调用.Add(Itemitem)。保存时会向数据库中添加一个新行。但是,删除是不同的-调用.Remove(Itemitem)不会从数据库中删除项目,它只是删除外键。因此,是的,从技术上讲,它不再是收藏的一部分,但它仍在数据库中。仔细阅读,唯一的解决方案是使用数据上下文将其删除。但是根据DDD,域对象不应该知道数据上下文,因此必须在域外进行删除。解决这个问题的正确方法是什么?或者让数据库中充满孤儿是可以接受的吗(也许运行一个例程来清除它们)?

javascript - Rails 3 - Javascript :confirm not working for link_to and button_to with :method => :delete

在我的index.html.erb文件中,我试图显示我的对象的标题(“列表”)和正常的“显示”、“编辑”和“销毁”链接和/或按钮。使用:method=>:delete和:confirm=>"areyousure?",link_to或button_to都不会显示javascript确认框。这是我的index.html.erb:ClickHereforaJavascripttestListTitle'Areyousure?',:method=>:delete)%>"Areyousure?",:method=>:delete%>列表顶部的“HelloWorld”JS确认链接运行良好,所以我非

javascript - 返回值 `delete` 的真正含义是什么?

根据thisMDNpage,delete关键字Returnsfalseonlyifthepropertyexistsandcannotbedeleted.Itreturnstrueinallothercases.但是,我看到delete返回true的情况,尽管属性没有被删除:deleteWindowdeletealertdeletedirdeleteconsoledelete2deletenulldelete{}.x...事实上,window的几乎所有属性都在delete时返回true,正如在about:blank中运行以下脚本所见>:for(ainwindow){if(deletew

javascript - Firebase:检查 onWrite 事件的 'write or delete'

我有以下函数可以像这样监听数据库触发器的onWrite事件:exports.sendNotifications=functions.database.ref('/events/{eventId}/registered').onWrite(event=>{...});无论删除还是添加节点,都会调用上述函数。如何检查onWrite事件是该特定节点的“删除”事件还是“添加”事件,以便仅在它是“添加”事件时调用此函数。 最佳答案 如果你只想为一个添加事件触发这个函数,onCreate()触发器将是要走的路。但是,您还可以检测它是否是您的on

javascript - 为什么 delete 关键字的行为与预期相反?

在Chrome中,在控制台中尝试以下操作。首先console=0;将值0分配给console。然后console//(prints`0`)检查我们是否正确覆盖了console。最后,deleteconsole令人惊讶的是,console现在拥有原始的Console对象。实际上,delete关键字“复活”console,而不是消灭它!这是预期的行为吗?这是在Chromium代码中的什么地方实现的? 最佳答案 如MDN'sdocumentationondelete中所述:Ifthedeleteoperatorsucceeds,itrem

javascript - jQuery.ajax 在 ie 中使用 'delete' 方法的问题

我有一个页面,用户可以在其中使用按钮编辑各种内容,并选择触发ajax调用。特别是,一个操作会导致远程调用一个url,其中包含一些数据和一个“put”请求,这(因为我使用的是restfulrails后端)会触发我的更新操作。我还有一个删除按钮,它调用相同的url但带有“删除”请求。“更新”ajax调用适用于所有浏览器,但“删除”调用在IE中不起作用。我对以前遇到过这样的事情有一个模糊的内存......任何人都可以阐明吗?这是我的ajax调用://updateaction-worksinallbrowsersjQuery.ajax({async:true,data:data,dataTyp

javascript - `new` 没有 `delete` 在 Javascript 中的相同变量

这样做可以吗?:functionmygetTime(){vard=newDate();return(d.getTime());}functionwasteSomeMemory(){vartemp;for(varcount=0;count调用wasteSomeMemory()会导致内存泄漏吗?这个怎么样:functionwasteSomeMemory2(){vartemp;for(varcount=0;count调用wasteSomeMemory2()会导致内存泄漏吗?我应该在for循环的末尾使用deletetemp;吗?functionwasteSomeMemory2(){vartem

javascript - angularjs $http.delete 在 ie8 上中断

$http.delete('/api/carts/'+productCode).success(function(){cart.products=someMethod();updateTotals();}).error(function(){console.log('Couldnotremoveproductfromcard:'+productCode);});IE8在第一行提示“预期的标识符”。该代码在Firefox、Chrome等中运行良好。 最佳答案 问题是delete是一个javascript关键字,IE8对它的解析略有错误

php - 最佳实践 : Redirect when deleting in Laravel using Ajax call

我使用Laravel5.5构建一个web应用程序,我遇到了一个问题。使用AJAX从我的数据库(一个项目)中删除记录正常工作,它被删除并且Ajax返回刚刚删除的数据。我在项目ListView中执行此操作,因此数据表会刷新并且不再显示此记录。问题是当我从项目页面而不是列表页面删除记录时。它被删除并且Ajax返回正确的值,但用户仍然在显示已删除数据的同一页面中;如果他们刷新页面,他们会收到404错误(显然是因为我们刚刚删除了记录)。在这种情况下,最佳做法是什么?我应该将用户重定向到项目列表页面吗?这种情况下怎么办?如果在应用的其他地方多次调用此删除命令,会发生什么情况?谢谢!