- Entity Framework 6,1
Tôi có một thủ tục lưu trữ mà trả về kết quả sau đây:Entity Framework sử dụng Database.SqlQuery(), nơi tên cột không hợp lệ C tên # thành viên
Vì vậy, tự nhiên những tên trường đó không phải là số nhận dạng hợp lệ cho kết quả POCO mà tôi đã sửa đổi thành:
public class AdHoc_UspGetPassengerCountByAgeReturnDto
{
public Int32? _0_18 { get; set; }
public Int32? _19_30 { get; set; }
public Int32? _31_40 { get; set; }
public Int32? _41_50 { get; set; }
public Int32? _51_60 { get; set; }
public Int32? _61_70 { get; set; }
public Int32? _71_80 { get; set; }
public Int32? _81plus { get; set; }
}
Theo kết quả của các tên thuộc tính thay đổi như sau: giá trị
public List<AdHoc_UspGetPassengerCountByAgeReturnDto> AdHoc_UspGetPassengerCountByAge(out int aProcResult)
{
SqlParameter procResultParam = new SqlParameter {ParameterName = "@procResult", SqlDbType = SqlDbType.Int, Direction = ParameterDirection.Output};
List<AdHoc_UspGetPassengerCountByAgeReturnDto> procResultData =
Database.SqlQuery<AdHoc_UspGetPassengerCountByAgeReturnDto>("EXEC @procResult = [AdHoc].[usp_GetPassengerCountByAge] ", procResultParam).ToList();
aProcResult = (int) procResultParam.Value;
return procResultData;
}
lợi nhuận null vì tên không khớp. Vì vậy, những gì tôi đang cố gắng để làm việc ra là làm thế nào tôi thực hiện cuộc gọi SP nhưng trả lại một số loại chung chung để tôi có thể làm bản dịch giữa những gì được trả lại cho Adhoc_UspGetPassengerCountByAgeReturnDto của tôi.
Ai đó có thể chỉ cho tôi đúng hướng không?
Điều đó khá thú vị .... Tôi không thể sửa đổi SP để sử dụng SQL hoạt động và điều đó hoạt động. Đáng tiếc nó phải được thực hiện theo cách đó, nhưng bạn không thể có mọi thứ ;-) – TheEdge