2010-08-30 9 views
5

Tôi đang sử dụng EF 4.0 và sáng tạo tệp Mô hình thực thể (.edmx) từ cơ sở dữ liệu của tôi. Tuy nhiên, tôi có một số ràng buộc khóa ngoài cho Cascade OnDelete, tuy nhiên, chúng không được thiết lập trên các kết hợp của tôi trong mô hình thực thể của tôi. Tôi nhấp vào liên kết và nó cho thấy End1 OnDelete: Không.Entity Framework - Cascade Xóa không được thiết lập trong mô hình thực thể

Khi tôi kiểm tra các quy tắc Xóa trong cơ sở dữ liệu SQL Server 2008 của mình về ràng buộc khóa ngoài của tôi, nó nói 'Cascade'.

Có điều gì tôi thiếu để có được cờ Cascade OnDelete để đặt trong mô hình tổ chức của tôi không?

+1

Không, nếu mọi thứ là cách bạn mô tả, Trình hướng dẫn EDM phải nhận các lần xóa tầng từ cơ sở dữ liệu. Một trong những người dân có vấn đề này với SQLLite tại http://stackoverflow.com/questions/2477872/problem-with-cascade-delete-using-entity-framework-and-system-data-sqlite " Nhưng trong trường hợp của bạn với SQL Server 2008 nó phải hoạt động Hãy thử tạo một bộ bảng khác và nhập nó vào một dự án thử nghiệm mới và xem liệu bạn có thể làm cho nó hoạt động ở đó không. –

Trả lời

3

Câu trả lời này

"Tôi đã gặp vấn đề tương tự với SQL Server. Khi tôi cố gắng cập nhật chế độ từ cơ sở dữ liệu, nó không nhận các quy tắc thác. Lưu ý rằng các quy tắc đã được thêm vào sau khi mô hình đã Tôi thậm chí đã cố gắng xóa một bảng từ mô hình và thêm nó trở lại. Điều đó có tác dụng tương tự - không có quy tắc xếp tầng.

Tuy nhiên, khi tôi tạo một mô hình hoàn toàn mới với cùng một bảng chính xác, nó đã chọn Vì vậy, giải pháp của tôi chỉ là xóa mô hình cũ và tạo một mô hình mới có cùng tên, v.v.

Tôi đoán là có cái gì đó sai trái với mô hình cập nhật từ quá trình cơ sở dữ liệu. "

từ this chuỗi đã hoạt động cho tôi.