Khi thực hiện xóa mối quan hệ một-nhiều mà không lộ chìa khóa ngoài, EF sẽ xóa bản ghi gốc và cố gắng vô hiệu khóa ngoài trên bản ghi con. Điều này tất nhiên gây ra một lỗi vì khóa ngoại không phải là nullable. Thêm khóa ngoài vào lớp con sẽ ghi đè hành vi này, nhưng tôi không muốn để lộ nó.Bật tính năng xóa tầng trong Mã EF Đầu tiên mà không để lộ khóa ngoài
Ví dụ cho hai lớp sau, tôi không muốn có JobId làm thuộc tính của lớp Project.
public class Job : ModelBase
{
[Required]
[StringLength(100)]
public string Company { get; set; }
[Required]
[StringLength(100)]
public string JobTitle { get; set; }
public ICollection<Project> Projects { get; set; }
}
public class Project : ModelBase
{
[Required]
[StringLength(100)]
public string Name { get; set; }
[Required]
public string Summary { get; set; }
public int JobId { get; set; }
}
Có cách nào để cho phép xóa tầng trong mã EF trước tiên mà không để lộ khóa ngoại ở nhiều phía của mối quan hệ không?
Hoàn hảo. Cảm ơn! –
Không phải những gì tôi sẽ gọi rõ ràng ... –