相关疑难解决方法(0)

加快linq/entity结果的返回

遗憾的是,我正在维护一个系统,该系统没有考虑到系统有数百万条记录后会发生什么.

我遇到的问题是代码当前编写的方式主要是GetList方法实际返回数据库中的每个记录,并且过滤是在getfull方法完成的.

我尝试通过将调整的id传递给getlist方法来改变它,但是当我尝试做的时候.所以(a => a.Id == journalid)我得到这个错误

无法将类型'System.Linq.IQueryable隐式转换为'System.Data.Objects.ObjectQuery

public Adjustment GetFull(int id) {
            var result = GetList(id).FirstOrDefault(ja => ja.Id == id);
            if(result == null) {
                throw new InvalidOperationException(
                    String.Format(" Adjustment with Id={0} not found.", id)
                );
            }
            return LoadFullActivities(result);
        }


        private IQueryable<Adjustment> GetList(int journalid) {
            return GetList(journalid,"Original", "Activities",
                "Original.Employee", "Original.Employee.EmployeeType", 
                "Original.Employee.WorkType", "Original.Employee.Department", 
                "Original.Activities", "Original.Status", 
                "Original.Approver", "Status");
        }

        private IQueryable<Adjustment> GetList(int journalid, params string[] includes) {
            var tempResult = dataContext.AdjustmentSet;
            foreach (var property in includes) {
                tempResult = tempResult.Include(property).Where(a=>a.Id == journalid) …
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net entity

2
推荐指数
1
解决办法
735
查看次数

标签 统计

asp.net ×1

c# ×1

entity ×1

linq ×1