从实体框架执行存储过程

时间:2020-05-26 17:21:12

标签: entity-framework ef-code-first asp.net-core-webapi

我正在研究一个asp.net核心Web API项目,需要从过程中获取结果。我正在使用某些模型(TblUser,这只是具有属性而不是数据库中的表的类)映射过程结果。我收到“ TblUser不是对象”的错误,如何执行该过程以在所需模型中获得结果。

我们可以创建一些通用函数来传递过程输入吗?

编辑:这里的过程是返回模型TblUser的所有映射属性,只是没有返回TblUserId。

    public List<TblUser> GetUsersServerSide(Filters filter)
    {
        List<TblUser> users = new List<TblUser>();
        users = null;
        try
        {
            using (var ctx = new DBContext())
            {
                var SearchValue = new SqlParameter("@SearchValue", filter.SearchValue ?? "");
                var CurrentPageNumber = new SqlParameter("@PageNo", filter.CurrentPageNumber);
                var PageSize = new SqlParameter("@PageSize", filter.PageSize);
                var SortBy = new SqlParameter("@SortColumn", filter.SortBy);
                var SortDir = new SqlParameter("@SortOrder", filter.SortDir);
                users = db.TblUsers
                .FromSql("Exec dbo.GetUsers @SearchValue, @PageNo, @PageSize, @SortColumn, @SortOrder", SearchValue, CurrentPageNumber, PageSize, SortBy, SortDir).ToList();
            }
            return users;
        }

public class TblUser
{
    public int TblUserId { get; set; }        
    public int TotalCount { get; set; }
    public int EmployeeId { get; set; }
    public string Name { get; set; }
    public string Gender { get; set; }
}  

0 个答案:

没有答案