Я получаю «FileLoadException: указанное имя сборки или кодовая база была недействительной». когда я пытаюсь получить данные из моей базы данных, используя Entity Framework 6 - PullRequest
0 голосов
/ 27 февраля 2020

Рассматриваемая функция:

public static List<Order> GetOrdersByPage(int pageNum, byte pageSize, OrderContext orderContext)
{
    const int PageOffset = 1;
    return orderContext.Orders
                        .OrderBy(c => c.OrderID)
                        .Skip(pageSize * (pageNum - PageOffset))
                        .Take(pageSize)
                        .ToList();
    /*
    return
    (
        from o in orderContext.Orders
        orderby o.OrderID descending
        select o
    ).Skip(pageSize * (pageNum - PageOffset))
        .Take(pageSize)
        .ToList();
    */
}

ПРИМЕЧАНИЕ. Закомментированный код выполняет (по крайней мере, предполагается) то же самое, что и незакомментированный код, и, таким образом, ошибка по-прежнему возникает.

Кроме того, такая же ошибка возникает при попытке просто загрузить все данные:

public static List<Order> GetAllOrders(OrderContext orderContext)
{
    return
    (
        from o in orderContext.Orders
        orderby o.OrderID descending
        select o
    ).ToList();
}

Журнал ошибок и репозиторий GitHub .

ДРУГОЕ ПРИМЕЧАНИЕ: Я хотел бы уточнить, что функция добавления объектов в базу данных по-прежнему работает. Вот код для этого:

public static async Task<Order> Add(Order o, OrderContext orderContext)
{
    return await OrderAction(o, orderContext, EntityState.Added);
}

private static async Task<Order> OrderAction( Order o, OrderContext orderContext, EntityState state)
{
    orderContext.Orders.Add(o);
    orderContext.Entry(o).State = state;
    await orderContext.SaveChangesAsync();
    return o;
}

Я сделал GetOrdersByPage () не асинхронным из-за того, что думал, что это могло быть частью проблемы. Я добавлю его обратно, как только узнаю, что на самом деле пошло не так.

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