Метод Get возвращает Null при использовании Include на EF - PullRequest
1 голос
/ 17 февраля 2020

У меня есть следующий метод get, который возвращает отсутствующие товары в моей базе данных. Моя база данных разбита на 2 таблицы, одна называется фондовая, а другая - Issue. Моя таблица запасов объединена в таблице вопросов (оба имеют IssueId)

Когда я запускаю следующий код:

    public IEnumerable<Stock> GetOutOfStock(int page)
    {
        var stock = (from s in _context.Set<Stock>().Cast<Stock>()
                    where s.AvailableQty == 0
                    orderby s.Issue.PublicationDate descending
                    select s).Skip(25 * page).Take(25);
        //.Include(s => s.Issue)
        return stock;
    }

Я получаю это как вывод:

  {
"stockReferenceId": 32681,
"issueId": 7980,
"condition": "Fine",
"availableQty": 0,
"price": 51.94,
"comments": null,
"issue": null,
"supplierOrders": [],
"supplierQuotes": []

}

но как только я включу свою таблицу проблем со следующим кодом:

    public IEnumerable<Stock> GetOutOfStock(int page)
    {
        var stock = (from s in _context.Set<Stock>().Cast<Stock>()
                    where s.AvailableQty == 0
                    orderby s.Issue.PublicationDate descending
                    select s).Include(s => s.Issue).Skip(25 * page).Take(25);
        //
        return stock;
    }

я получу следующий вывод

 {
"StockReferenceId": 0,
"IssueId": 0,
"Condition": "string",
"AvailableQty": 0,
"Price": 0,
"Comments": "string",
"Issue": {
  "IssueId": 0,
  "Title": "string",
  "PublicationDate": "2020-02-17T08:55:27.501Z",
  "Publisher": "string",
  "SeriesNumber": 0,
  "Description": "string",
  "CoverImage": "string",
  "ComicCreators": [
    {
      "IssueId": 0,
      "CreatorId": 0,
      "CreatorRole": "string",
      "Creator": {
        "CreatorId": 0,
        "Name": "string",
        "CountryOfResidence": "string",
        "TaxReferenceNumber": "string",
        "EmailAddress": "string",
        "ComicCreators": [
          null
        ]
      }
    }

Мои таблицы доменов выглядят так: Stock:

 public Stock()
    {
        //Cart = new HashSet<Cart>();
        //OrderDetails = new HashSet<OrderDetails>();
        SupplierOrders = new HashSet<SupplierOrders>();
        SupplierQuotes = new HashSet<SupplierQuotes>();
    }

    public int StockReferenceId { get; set; }
    public int? IssueId { get; set; }
    public string Condition { get; set; }
    public short? AvailableQty { get; set; }
    public decimal? Price { get; set; }
    public string Comments { get; set; }

    public Issues Issue { get; set; }

, а моя таблица Issue выглядит следующим образом:

    public partial class Issues
{
    public Issues()
    {
        ComicCreators = new HashSet<ComicCreators>();
        Stock = new HashSet<Stock>();
    }

    public int IssueId { get; set; }
    public string Title { get; set; }
    public DateTime? PublicationDate { get; set; }
    public string Publisher { get; set; }
    public short? SeriesNumber { get; set; }
    public string Description { get; set; }
    public string CoverImage { get; set; }

    public ICollection<ComicCreators> ComicCreators { get; set; }
    public ICollection<Stock> Stock { get; set; }


}

Как мне получить запрос на получение возврата моих акций и Issue в моем Json

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