2011-09-01 38 views
6

Tôi đang cố gắng triển khai kế thừa bảng cho mỗi phân cấp với một số bảng cơ sở dữ liệu của tôi, ví dụ: Address. Tôi muốn lấy được 3 lớp từ Address, đây là EmployeeAddress, CustomerAddress, SupplierAddress.Biểu mẫu thực thể Bảng cho mỗi thừa kế cấp bậc

+-------------------+------------------------+ 
| Address   |> EmployeeAddress  | 
+-------------------+------------------------+ 
| ID    | ..      | 
| OwnerID   | EmployeeID    | 
| OwnerCategory  | (condition: where = 0) | 
| Street_1   | ..      | 
| Street_2   | ..      | 
| City    | ..      | 
| Province   | ..      | 
| PostalCode  | ..      | 
+-------------------+------------------------+ 
        |> CustomerAddress  | 
        +------------------------+ 
        | ..      | 
        | EmployeeID    | 
        | (condition: where = 1) | 
        | ..      | 
        | ..      | 
        | ..      | 
        | ..      | 
        | ..      | 
        +------------------------+ 
        |> SupplierAddress  | 
        +------------------------+ 
        | ..     | 
        | EmployeeID    | 
        | (condition: where = 2) | 
        | ..      | 
        | ..      | 
        | ..      | 
        | ..      | 
        | ..      | 
        +------------------------+ 

Vấn đề là tôi tiếp tục nhận lỗi ...

Khi Addressbê tông, và chứa OwnerCategory tài sản:

Lỗi 3032: Vấn đề trong mảnh bản đồ bắt đầu từ dòng 178: Địa chỉ của thành viên điều kiện.OwnerCategory 'với điều kiện khác hơn' IsNull = False 'được ánh xạ. Xóa trạng thái trên địa chỉ .OwnerCategory hoặc xóa địa chỉ khỏi ánh xạ.

Khi Addresstrừu tượng và chứa OwnerCategory tài sản:

Vấn đề trong mảnh bản đồ bắt đầu từ dòng 178: Điều kiện thành viên 'addresses.OwnerCategory' với một điều kiện khác hơn là 'IsNull = False ' được ánh xạ. Xóa trạng thái trên địa chỉ.OwnerCategory hoặc xóa điều kiện khỏi ánh xạ.

Khi Addressbê tôngkhông chứa OwnerCategory tài sản:

'DtcInvoicer.Database.Address' không chứa một định nghĩa cho 'OwnerCategory' và không có phương pháp khuyến nông 'OwnerCategory' chấp nhận một đối số đầu tiên của loại 'DtcInvoicer.Database.Address' có thể được tìm thấy (bạn đang thiếu một chỉ thị sử dụng hoặc tham chiếu lắp ráp?)

Vấn đề trong mảnh bản đồ bắt đầu từ dòng 177, 195: EntityTypes Model.Address, Model.EmployeeAddress đang được ánh xạ tới cùng hàng tại địa chỉ bảng. Điều kiện ánh xạ có thể được sử dụng để phân biệt các hàng mà các loại này được ánh xạ tới.

(Tôi đã có các thiết lập điều kiện (khi OwnerCategory = 0)

Khi Addresstrừu tượngkhông chứa OwnerCategory tài sản:

'DtcInvoicer.Database.Địa chỉ 'không chứa định nghĩa cho ' OwnerCategory 'và không có phương thức mở rộng' OwnerCategory 'chấp nhận một đối số đầu tiên của loại' DtcInvoicer.Database.Address 'có thể được tìm thấy (bạn thiếu một chỉ thị sử dụng hoặc tham chiếu assembly?)

Bất kỳ trợ giúp nào được đánh giá cao, cảm ơn trước.

Trả lời

7

Vì bạn đang sử dụng OwnerCategory trong điều kiện thừa kế của bạn, bạn không thể ánh xạ tới thuộc tính. Nó cũng giống như bạn cũng nên có Address thiết lập để trừu tượng. Đảm bảo bạn xóa thuộc tính khỏi mô hình của mình và sửa đổi bất kỳ mã nào đang sử dụng nó. Các lỗi không ánh xạ mà bạn đề cập có vẻ là lỗi tiêu chuẩn khi trình biên dịch không thể tìm thấy một thành viên cụ thể để đảm bảo sửa các điểm đó.

+0

Xin chào, tôi đã thử xóa thuộc tính 'OwnerCateogry' và đặt' Địa chỉ' thành tóm tắt như tôi đã đề cập ở trên. Tôi nhận được lỗi mà tôi đã đề cập ở phần cuối. –

+1

Phải, có vẻ như một số mã khác đang sử dụng 'OwnerCategory', bạn sẽ phải sửa đổi mã đó không sử dụng' OwnerCategory'. – scmccart

+0

Hey, có vẻ như bạn đã đúng. Nó có vẻ đang hoạt động. Tôi nghĩ rằng tôi đã sử dụng nó ở nơi khác. Cảm ơn một lần nữa. –

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