I'm using EF 5 code first and I have 2 related entities ApplicationPermission and Application:
public class ApplicationPermission
{
public virtual Application Application { get; set; }
public int Id { get; set; }
}
public class Application
{
public string Name { get; set; }
public int Id { get; set; }
}
with the following mapping for ApplicationPermission:
HasKey(x => x.Id);
HasRequired(x => x.Application).WithMany().Map(m => m.MapKey("ApplicationId")).WillCascadeOnDelete(false);
and for Application:
HasKey(x => x.Id);
I use the code below for deleting ApplicationPermission:
ApplicationPermission entity = new ApplicationPermission { Id = id };
DbContext.Set<ApplicationPermission>().Attach(entity);
DbContext.Set<ApplicationPermission>().Remove(entity);
DbContext.SaveChanges();
But I got an error on SaveChanges method:
Entities in 'CodeFirstContainer.ApplicationPermissions' participate in the 'ApplicationPermission_Application' relationship. 0 related 'ApplicationPermission_Application_Target' were found. 1 'ApplicationPermission_Application_Target' is expected.
How can I delete ApplicationPermission without loading Application to the dbcontext?