01/10/2018, 01:02

The data reader is incompatible with the specified?

Xin chào mọi người,
Mình có 1 vấn đề như sau: Project của mình sử dụng database và có 2 bảng (sử dụng ADO.NET Entity Framework):

Mình có 1 stored procedure để lọc kết quả trộn từ 2 bảng trên:

CREATE PROCEDURE [dbo].[SP_SELECT]
AS
BEGIN
    SELECT I.Id, I.Name, C.Name
    FROM ITEM I, CATEGORY C
    WHERE I.CategoryID = C.Id
END

Mình chạy stored procedure nhưng gặp 1 lỗi như sau:
The data reader is incompatible with the specified ‘TEST2Model.SP_SELECT_Result’. A member of the type, ‘Name1’, does not have a corresponding column in the data reader with the same name.

Mình đoán là do trùng thuộc tính Name của bảng ITEM và thuộc tính Name của bảng CATEGORY. Mình cũng đã thử đổi tên thuộc tính thành tên khác thì OK nhưng trong trường họp database mình được giao đã cố đinh hết tên thuộc tính và không thể sửa được. Mong mọi người cho mình hướng giải quyết!

Cảm ơn mọi người nhiều!

Đỗ Mạnh Hà viết 03:17 ngày 01/10/2018

Hello bạn!

Khi bạn để default thì 2 cột đều có label là “Name”. Theo mình (chưa thử) bạn có thể fix bằng cách đặt alis trong Store Procedure trên cho 2 cột Name khác nhau là được.

SELECT I.Id, I.Name AS 'ItemName', C.Name AS 'CategoryName'

Hope it will be useful for you!

Hoàng Việt viết 03:09 ngày 01/10/2018

Nó thật sự hoạt động, cảm ơn bạn rất nhiều! Chúc bạn nhiều sức khỏe!

Bài liên quan
0