C# 是否可以在没有ObjectContext的情况下删除实体?

C# 是否可以在没有ObjectContext的情况下删除实体?,c#,entity-framework,C#,Entity Framework,使用默认代码生成的实体和实体框架,有没有一种方法可以在不使用ObjectContext的情况下删除实体对象?例如,自跟踪实体具有MarkAsDeleted方法。此外,更新或添加对象不需要ObjectContext,因此我希望删除对象也需要ObjectContext 一件不起作用的事情是简单地将实体标记为已删除,因为该属性是只读的: foo.EntityState = EntityState.Deleted; 答案似乎是否定的,所以我使用了我以前写过的一种技术,将ObjectContext附加到

使用默认代码生成的实体和实体框架,有没有一种方法可以在不使用ObjectContext的情况下删除实体对象?例如,自跟踪实体具有
MarkAsDeleted
方法。此外,更新或添加对象不需要ObjectContext,因此我希望删除对象也需要ObjectContext

一件不起作用的事情是简单地将实体标记为已删除,因为该属性是只读的:

foo.EntityState = EntityState.Deleted;

答案似乎是否定的,所以我使用了我以前写过的一种技术,将
ObjectContext
附加到所有需要删除子实体的实体上:

这违背了工作单元的概念。如果你能描述你所面临的情况,我们可能会给你一个替代方案。@Eranga:如果你知道答案,那么回答这个问题怎么样?@Ludo你的问题的答案是“不”。你为什么要这样做?您可以只执行sql语句来删除数据库中的一行/多行,但如果您有更高级的映射策略,则从EF的角度来看,可能会使数据库损坏。同样,理解您需要这样的东西的场景会很有趣。@Ludo我真的没有看到其他评论有任何错误。但你的态度立刻让我反感。别忘了你在向其他人寻求帮助,他们会自愿花时间来帮助你。在这种情况下表现得好会有很大帮助。