Tôi đang sử dụng EF 5 mã đầu tiên và tôi có 2 đơn vị liên quan ApplicationPermission và Ứng dụng:Làm cách nào để xóa một đối tượng có thuộc tính điều hướng có mã khung thực thể 5 trước?
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; }
}
với các bản đồ sau đây cho ApplicationPermission:
HasKey(x => x.Id);
HasRequired(x => x.Application).WithMany().Map(m => m.MapKey("ApplicationId")).WillCascadeOnDelete(false);
và cho ứng dụng:
HasKey(x => x.Id);
Tôi sử dụng mã bên dưới để xóa ApplicationPermission:
ApplicationPermission entity = new ApplicationPermission { Id = id };
DbContext.Set<ApplicationPermission>().Attach(entity);
DbContext.Set<ApplicationPermission>().Remove(entity);
DbContext.SaveChanges();
Nhưng tôi đã nhận ra lỗi trên phương pháp SaveChanges:
Đối tượng trong 'CodeFirstContainer.ApplicationPermissions' tham gia vào của ApplicationPermission_Application 'mối quan hệ. 0 liên quan 'ApplicationPermission_Application_Target' đã được tìm thấy. 1 'ApplicationPermission_Application_Target' được mong đợi.
Làm cách nào để xóa ApplicationPermission mà không tải ứng dụng vào dbcontext?