2011-12-29 12 views

Trả lời

7

Lỗi nói rằng cột của bạn trong bảng/chế độ xem không thể rỗng nhưng thuộc tính của lớp trong mô hình thực thể là không thể thực hiện được. Cả hai đều phải là null hoặc không có giá trị.

+0

làm cách nào để thay đổi cột trong bảng thành rỗng? (trong edmx không có trong cơ sở dữ liệu - tôi đã thay đổi nó) – markmnl

+1

điều này là siêu gây phiền nhiễu. tôi đã thay đổi cột bảng của tôi từ nullable thành non nullable, và cập nhật mô hình của tôi từ cơ sở dữ liệu. nhưng có vẻ như nó không chuyển đổi thuộc tính thực thể thành không nullable và tôi tiếp tục nhận được lỗi này –

+7

@SonicSoul Tôi có cùng một vấn đề. Phiền thật đấy. Tôi đã sửa lỗi bằng cách xóa tất cả các bảng khỏi trình thiết kế và thêm lại chúng. –

8

làm mới bảng trong edmx của bạn từ cơ sở dữ liệu của bạn (Trong trình duyệt mô hình, nhấp chuột phải -> Update Mẫu Từ cơ sở dữ liệu -> Cập nhật tab -> chọn bảng của bạn -> bấm cập nhật)

1

tôi có vấn đề này sau khi thay đổi một cột không có giá trị null thành một giá trị rỗng. gì giải quyết nó đối với tôi là như sau:

  1. tay chỉnh sửa các cột và liên kết các cột phải bảng khác để (0 ... 1) trong file .edbx.
  2. Sau khi chỉnh sửa thủ công thực hiện bảng cập nhật như DRM được mô tả.

Một trong những hành động đơn lẻ không giải quyết được vấn đề của tôi (cảm thấy như trục trặc). Hy vọng điều này có thể giúp ai đó.

+0

Trong trường hợp của tôi (EF 3.5 vẫn còn), hack là trong .edmx. – Tim

0

Đây là trên EF 4.5 mà tôi thấy điều này, các phiên bản trước có thể không có vấn đề chính xác này. DRM đề cập đến cách cập nhật nó, nhưng tôi thấy rằng đôi khi ngay cả khi bạn cập nhật một số thay đổi nhỏ như chuyển đổi các trường bắt buộc hoặc thay đổi tên trường, nó không thay đổi chúng trong edmx mặc dù bạn cập nhật nó. Do đó, mô hình dữ liệu của bạn không khớp chính xác với cơ sở dữ liệu.

Tôi đã tìm thấy cách tốt nhất để đảm bảo các mô hình thực thể edmx của bạn là chính xác là xóa edmx và thêm lại. Sau khi thực hiện phương pháp tiếp cận cơ sở dữ liệu đầu tiên trên EF 4.5, tôi nghĩ rằng Entity dường như chơi độc đáo hơn với cách tiếp cận mã đầu tiên thay vì cơ sở dữ liệu đầu tiên.

1

Chỉ cần xóa bảng cụ thể khỏi mô hình và thêm lại. Điều đó sẽ giải quyết vấn đề của bạn.

0

Nếu bạn muốn giữ hồ sơ. Chỉ undo xóa bỏ các lỗi khác xây dựng lại bảng

0

tôi đã nhận nó giải quyết bằng cách 1. Xóa các bảng cụ thể từ các mô hình 2. Nhấp chuột phải vào mô hình, chọn mô hình Update từ cơ sở dữ liệu, chọn các bảng và xóa bấm vào kết thúc.

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