2008-08-01 27 views
25

Tôi có một bảng tiêu chuẩn khá được thiết lập trong ứng dụng hiện tại bằng cách sử dụng các tính năng .NETXSDDataSetTableAdapter. Bảng contracts của tôi bao gồm một số thông tin hợp đồng tiêu chuẩn, với cột cho số primary department. Cột này là một số foreign key tới bảng Departments của tôi, nơi tôi lưu trữ department name, id, notes cơ bản. Đây là tất cả thiết lập và hoạt động trong SQL Server của tôi.XSD DataSets và bỏ qua các khóa ngoài

Khi tôi sử dụng công cụ XSD, tôi có thể kéo cả hai bảng cùng một lúc và nó tự động phát hiện/tạo khóa ngoài tôi có giữa hai bảng này. Điều này hoạt động tốt khi tôi đang ở trên trang chính của mình và đang xem dữ liệu hợp đồng.

Tuy nhiên, khi tôi truy cập trang quản trị của mình để sửa đổi dữ liệu của bộ phận. Tôi thường làm điều gì đó như thế này:

Dim dtDepartment As New DepartmentDataTable() 
Dim taDepartment As New DepartmentTableAdapter() 

taDepartment.Fill(dtDepartment) 

Tuy nhiên, vào thời điểm này là một ngoại lệ được ném nói với hiệu quả mà có một tài liệu tham khảo chính nước ngoài bị phá vỡ ở đây, tôi đoán vì tôi không có ContractDataTable đầy.

Làm cách nào để khắc phục sự cố này? Tôi biết tôi chỉ đơn giản có thể loại bỏ các khóa nước ngoài từ XSD để làm cho mọi thứ hoạt động tốt, nhưng có kiểm tra tính toàn vẹn bổ sung ở đó và có lược đồ XSD phù hợp với lược đồ SQL trong cơ sở dữ liệu là tốt đẹp.

Trả lời

10

Bạn có thể thử tắt Kiểm tra ràng buộc trên DataSet (thuộc tính của nó) hoặc thay đổi thuộc tính của mối quan hệ đó và thay đổi khóa thành tham chiếu đơn giản - tùy thuộc vào bạn.

0

Tắt Check-Constraints trong trình đơn thuộc tính, đó là phương pháp tốt nhất!

Các vấn đề liên quan