0

我正在尝试使用 linq 调用存储过程。这是我的代码:

List<AllRowsMyDTO> list = Context.ExecuteStoreQuery<AllRowsMyDTO>("exec GetAllRows {0}", ClassID).AsQueryable().ToList();

public class AllRowsMyDTO
{
    public int StudentId { get; set; }
    public string StudentName { get; set; }
    public string StudentLevel { get; set; }
    public string FilePath { get; set; }
    public string StudentPreRequisites { get; set; }
    public bool IsGraded { get; set; }
}

GetAllRows 存储过程接受一个整数参数并运行一个选择语句来获取与该 ClassID 匹配的所有记录。现在该列表包含的 AllRowsMyDTO 类型的对象与存储过程返回的行数一样多。但是除了布尔属性之外,所有属性都是空的。知道这里发生了什么吗?

另外,这是使用 LinQ 调用存储过程的最佳方式吗?

谢谢你的时间。

4

1 回答 1

0

问题是您没有在映射中指定键,EF 无法弄清楚它应该是什么。EF 要求结果的某种形式的键(如果需要,可以是复合键)。

于 2012-04-25T18:27:27.083 回答