2012-05-03 32 views
5

Sử dụng Entity Framework Mã Thứ nhất, tai nạn ứng dụng web trên một cuộc gọi đến DbContext với các lỗi sau:DbContext treo với PrimitiveType = null lỗi

Assertion failed

Expression: primitiveType != null

Description: Assertion failed: primitiveType != null

Nó bị treo trên dòng mã sau đây:

public class MyDb : DbContext { 

được gọi bởi:

MyDb _db = new MyDb(); 

Vì vậy, nó seams như gọi DbContext tạo ra một lỗi nghiêm trọng. DbContext là một hàm EF và tôi không thể sửa lỗi bên trong EntityFramework.dll

+1

Kiểm tra dòng mã mà mã không thành công, xác nhận không thể không thành công trên định nghĩa lớp. –

+0

@Adriano: xem cập nhật của tôi – jao

+0

Bạn đã bao giờ quản lý để giải quyết vấn đề này chưa? Tôi chỉ cần cài đặt VS2012 và bây giờ một trong những trang web của tôi là có cùng một vấn đề. – DennyFerra

Trả lời

1

Đó là sự cố liên quan đến phiên bản EntityFramework cũ hơn. Nó đôi khi xảy ra khi sao chép một dự án Visual Studio sang một máy khác. Điều này có thể khiến ứng dụng tính toán một ModelHash khác với ứng dụng nằm trong cơ sở dữ liệu (bên trong bảng EdmMetaData). Giải pháp là xóa bảng EdmMetaData và sử dụng DbDatabase.SetInitializer<MyContext>(new DropCreateDatabaseIfModelChanges<MyContext>()); để đưa nó trở lại vị trí hoặc thậm chí tốt hơn: Nâng cấp lên phiên bản mới hơn của EntityFramework không sử dụng bảng EdmMetaData và ModelHashes.

0

Tôi đổi sang LINQ to sql và dint nhận được lỗi này. Không biết những gì các thực thể đang làm để gây ra điều này.

+0

nó có thể là một lỗi trong Entity Framework – jao

1

Sau khi cài đặt asp.net4.5 Tôi gặp lỗi tương tự. Câu trả lời cho tôi là cập nhật Entity Framework lên phiên bản mới.

Xóa bảng "EdmMetaData" không giải quyết được lỗi.

-1

Bạn cần cập nhật phiên bản EntityFramework

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