Могу ли я использовать объединение в синтаксисе Entity Framwork Pagination? - PullRequest
0 голосов
/ 08 апреля 2019

Мне было интересно, если кто-то может помочь здесь. Я новичок в Entm Framwork. У меня есть 2 разных запроса. Я хочу присоединиться к ним и получить 1. Вот мой код:

 public static List<BankDepositHistory> GetAllByPagination(int page ,int stepes)
        {

            page=page-1;

            using(MyketAdsEntities context = new MyketAdsEntities())
            {
                var transactionlist = context.BankDepositHistories.ToList();
                var start = page * stepes;
              var result=  context.BankDepositHistories.OrderByDescending(c=>c.AccountId)

                    //anny code that give me count as field
                    .Skip(start)
                    .Take(stepes)
                    .ToList();
                return (result);

            }
        }
        public static int GetCount()
        {
            using (MyketAdsEntities context = new MyketAdsEntities())
            {
                int count = context.BankDepositHistories.Count();
                return count;
            }

        }

Как видите, у меня есть 2 метода. Я просто хочу получить GetAllByPagination. Большое спасибо

1 Ответ

1 голос
/ 08 апреля 2019

Предположим, у вас есть ниже Entity, тогда должны работать следующие настройки.

public BankDepositHistory
{

public string UserName {get;set}

//etc..

}

Создать модель представления

public class BankDepositHistoryVM
{

public List<BankDepositHistory> bankDetails {get;set;}

public int Count {get;set;}

}

Return View Model

 public static List<BankDepositHistoryVM> GetAllByPagination(int page ,int stepes)
    {

        page=page-1;

        using(MyketAdsEntities context = new MyketAdsEntities())
        {
            var transactionlist = context.BankDepositHistories.ToList();
            var start = page * stepes;
          var result=  context.BankDepositHistories.OrderByDescending(c=>c.AccountId)
                .Skip(start)
                .Take(stepes)
                .ToList();

  List<BankDepositHistoryVM> resultVM = new List<BankDepositHistoryVM>();

  resultVM.bankDetails = result;
  resultVM.Count = result.Count();

            return resultVM;

        }
    }

Вызовите метод:

List<BankDepositHistory> bankDetails = className.GetAllByPagination.bankDetails;

int count = className.GetAllByPagination.Count;

List<BankDepositHistoryVM> allDetails = className.GetAllByPagination();

Надежда помогает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...