Chúng tôi đang làm việc trong Entity framework Mã đầu tiênEF Mã thác đầu tiên xóa trên ngoại chìa khóa one-to-many
Chúng tôi có một video lớp
class Video{
List<ImageInfo> Images{
get; set;
}
}
infoclass hình ảnh của chúng tôi bao gồm một đường dẫn đến hình ảnh và một số thông tin khác
class ImageInfo{
String path;
...
}
chúng tôi muốn có EF tháo imageinfos khi gỡ bỏ video
vì vậy chúng tôi đã thay đổi trình mô hình hóa như sau:
modelBuilder
.Entity<Video>()
.HasMany(v => v.Images)
.WithRequired()
.WillCascadeOnDelete(true);
chúng tôi không muốn thêm liên kết quay lại video trong lớp imageinfo của chúng tôi.
có thể lấy chức năng xóa tầng không có khóa ngoài 2 chiều không?
EDIT
các video_id của imageInfo không được điền vào trong cơ sở dữ liệu khi lưu video.
cách khắc phục sự cố này?
Tôi không biết nếu liên quan của nó, nhưng khi chúng ta thêm một video mới với những hình ảnh cùng một lúc, chúng tôi nhận được lỗi này:
Unable to determine a valid ordering for dependent operations. Dependencies may exist due to foreign key constraints, model requirements, or store-generated values.
Hoạt động như một sự quyến rũ. Chúng tôi cũng gặp vấn đề thứ hai. Chúng tôi đã gán một danh sách mới cho thuộc tính Hình ảnh, khiến đồng bộ hóa cơ sở dữ liệu thất bại. Vì vậy, chúng tôi đã học cách không bao giờ chỉ định một danh sách mới cho một thuộc tính. (tương tự với observableCollection và databinding) –
Chấp nhận câu trả lời sẽ được đánh giá rất nhiều sau đó :-). Thêm vào đó nó cũng giúp danh tiếng của riêng bạn dẫn đến nhiều câu trả lời tốt hơn. – AxelEckenberger
chúng tôi vẫn gặp sự cố khi xếp tầng hình ảnh khi xóa video: xem câu hỏi gốc (phần đã chỉnh sửa) –