Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 845
  • Last Modified:

Entity framework: Delete objects that respects some conditions

Hi!

I only want to know if this is possible to delete, with Entity Framework 4.0 some objects directly by specifying conditions.

I know I can select all object and then do a foreach on them and delete them. the goal is to avoid to retrieve data only to delete them. So please don't provide me a solution like

foreach( MyObjectType myObject in DataContext.MyObjectType.Where( <conditionsHere>))
   DataContext.MyObjectType.DeleteObject(myObject);
myObject.SaveChanges();

The goal is to have something like:

DataContext.MyObjectType.Delete.Where(m=> m.date<= someOtherDate);
0
Nargzul
Asked:
Nargzul
  • 2
1 Solution
 
Fernando SotoRetiredCommented:
Hi Nargzul;

To your question, "I only want to know if this is possible to delete, with Entity Framework 4.0 some objects directly by specifying conditions.", If by directly you mean entities NOT in the ObjectContext but only show up in the database then NO. In order for the ObjectContext to delete an entity it must have its Key and to have its Key means it is in the ObjectContext.

Fernando
0
 
NargzulAuthor Commented:
Thank you, but I find this limitation stupid :s
0
 
Fernando SotoRetiredCommented:
You could execute an SQL comment directly by using the connection of the ObjectContext but it must be a correctly formed SQL syntax because the command is not checked at compile time but only at run-time.

ObjectContextInstance.ExecuteStoreCommand("SQL Statemens as a string", params Object[] parameters);

Documentation ObjectContext.ExecuteStoreCommand Method :
http://msdn.microsoft.com/en-us/library/system.data.objects.objectcontext.executestorecommand.aspx

0

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now