2010-10-21 28 views
23

Trong ứng dụng asp.net MVC của tôi, tôi nhận được một lỗi trong chỉnh sửa chức năng: trong mã choĐã xảy ra lỗi khi thực hiện định nghĩa lệnh. Xem các ngoại lệ bên trong để biết chi tiết

public ActionResult Edit(int id) 
{ 

     var res = (from r in objeEntities.DocumentationsSet.Include("DocStatus") 
       where r.textid == id select r) 
       .First(); 
} 

Tôi nhận được ngoại lệ này:

Source : System.Data.Entity 

Stack Trace : 
at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) 
at System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext 
    context, ObjectParameterCollection parameterValues) 
at System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption) 
at System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable.GetEnumerator() 
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source) 
at System.Data.Objects.ELinq.ObjectQueryProvider.b__0[TResult](IEnumerable`1 sequence) 
at System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable`1 query, Expression queryRoot) 
at System.Data.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute[S](Expression expression) 
at System.Linq.Queryable.First[TSource](IQueryable`1 source) 
at admin.com.Controllers.DocsGridController.Edit(Int32 id) in c:\Data\FinalCode\AC015\acomMVCSourceCode\admincom\Controllers\DocsController.cs:line 
    307 

Message : An error occurred while executing the command definition. See the inner exception for details. 

Lỗi này được tạo khi tôi kết nối với máy chủ từ xa.

Lỗi này là gì? Làm thế nào để tôi sửa chữa nó?

+2

"Xem ngoại lệ bên trong để biết chi tiết". Bạn đã hoàn thành chưa? Nó nói gì? –

+0

Điều này có lẽ là hiển nhiên, nhưng cách để truy cập ngoại lệ bên trong là từ đối tượng ngoại lệ. Vì tôi đã có một khối thử trong một khối thử, tôi lầm tưởng rằng nó đang ám chỉ đến bên trong ... ừm, điều đó gây nhầm lẫn cho tôi. – micahhoover

+0

Ngoại lệ bên trong cho tôi chỉ ra một ánh xạ không thành công đối với một số bảng mới mà tôi thậm chí không muốn. Tôi đã tạo lại mô hình của mình và chọn các bảng cụ thể mà tôi muốn và sự cố đã biến mất. – micahhoover

Trả lời

1

Truy vấn thực tế có trả lại kết quả không? First() sẽ không thành công nếu không có kết quả.

+0

Khi chỉnh sửa phương thức hành động được gọi, nó có id tham số mặc định, không thể là NULL không bao giờ là Null –

44

Thông thường điều này có nghĩa là tệp lược đồ và ánh xạ của bạn không đồng bộ và có cột được đổi tên hoặc bị thiếu ở đâu đó.

+0

Cho phép xem: tôi đã xóa Điện thoại khỏi Chế độ xem, nhưng đã cố gắng tham chiếu nó trong một SELECT bên trong thủ tục được lưu trữ. (máy chủ sql). Lỗi được kích hoạt bên trong Thủ tục được lưu trữ không nhìn thấy cột đã xóa từ chế độ xem. – JustJohn

0

Nhìn vào Ngoại lệ bên trong và tìm hiểu đối tượng nào có thể đã gây ra sự cố, bạn có thể đã thay đổi tên của nó.

2

Điều này xảy ra khi bạn chỉ định tên khác cho tên bảng lưu trữ và tên bảng cơ sở dữ liệu. Vui lòng kiểm tra tên bảng của bạn với cơ sở dữ liệu và kho lưu trữ.

0

Tôi đã gặp tình huống tương tự với lỗi 'Đã xảy ra lỗi khi thực thi định nghĩa lệnh'. Tôi đã có một số quan điểm được lấy từ một db khác sử dụng bảo mật người dùng hiện tại. Db thứ hai không cho phép đăng nhập cho người dùng của db đầu tiên gây ra vấn đề này xảy ra. Tôi đã thêm thông tin đăng nhập db vào máy chủ mà nó đang cố truy cập từ máy chủ gốc và điều này đã khắc phục sự cố. Kiểm tra xem của bạn và xem nếu có bất kỳ dbs liên kết có bảo mật khác với db bạn đang đăng nhập vào ban đầu.

0

Tôi vừa mới gặp sự cố này và đó là vì tôi đã cập nhật chế độ xem trong DB của mình và không làm mới lược đồ trong ánh xạ của tôi.

2

Sau khi chi tiêu giờ, tôi thấy rằng tôi đã bỏ lỡ 's' thư trong tên bảng

Đó là [Table("Employee")] thay vì [Table("Employees")]

1

Trong trường hợp của tôi, tôi messed up connectionString tài sản trong một hồ sơ công bố, cố gắng truy cập cơ sở dữ liệu sai (Initial Catalog). Entity Framework sau đó phàn nàn rằng các thực thể không phù hợp với cơ sở dữ liệu, và đúng như vậy.

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