ASP.NET MVC: The column * cannot be modified because it is either a computed column or is the result of a UNION operator
Chào mọi người, mình mới học ASP.NET MVC để làm đồ án môn học. Hiện tại đang mò đến phần scaffold CRUD. Hiện tại đang bị vướng mắc ở một nơi. Mình sẽ trình bày hoàn cảnh sau đây.
-
Đầu tiên, mình có một entity CT_BaoCaoBanHang, chú ý thuộc tính ThanhTien mình đặt Computed, đồng thời private set (theo một hướng dẫn trên mạng) do cột THanhTien trong csdl mình cũng đặt là computed, formula = SoLuong*GiaBan.
-
Sau đó mình scaffold ra Controller, View CRUD bình thường. Mình sẽ sử dụng tính năng edit. Dưới đây là trang edit.cshml, mình để HtmlHidden ThanhTien.
-
Sau đó mình chạy trang edit trên trình duyệt để sửa một dòng CT_BaoCaoBanHang. Dòng đó có giá trị GiaBan=130.000, SoLuong = 10 và ThanhTien = 1.300.000 trong DB. Nhấn Save.
-
Ở hàm edit trong CT_BaoCaoBanHangController, xuất hiện một exception, khi đi vào inner exception cuối cùng thì có thông tin như hình bên dưới.
và debug bien cT_BaoCaoPhieuNhap
Vậy cho mình hỏi tại sao lại xảy ra Exception này, trong khi mình đã đánh dấu thuộc tính ThanhTien là Computed trong Entity rồi. Hiện tại không thể tiến hành edit được Entity CT_BaoCaoBanHang được.
Mọi người giúp đỡ nhé. Cảm ơn trước.
Coi lại cái hướng dẫn coi còn thiếu bước gì ko, phần data context ấy. Xem cột ThanhTien trong dât context nó định nghĩa như thế nào, rồi add-migration sửa nó lại
Cảm ơn anh. Em đã sửa được lỗi này bằng cách sửa Property trong file .edmx.