Отсутствуют все данные из-за одного объединения в Entity Framework - PullRequest
0 голосов
/ 11 марта 2020

У меня есть класс заказа

    [Key]
    public int Id { get; set; }
    public string customerId { get; set; }
    public string sellerId { get; set; }
    public float lat{ get; set; }
    public float lng { get; set; }
    public int orderAmount { get; set; }
    public DateTime orderDateTime { get; set; }
    public DateTime deliveredTime { get; set; }
    public string description { get; set; }
    public string orderStatus { get; set; }
    public int reviewId { get; set; }
    [ForeignKey("reviewId")]
    public virtual Reviews Reviews { get; set; }
    public virtual ApplicatoinUser Customer { get; set; }
    public virtual ApplicatoinUser Seller { get; set; }
    public virtual ICollection<Order_Items> Order_Items { get; set; }

, затем у меня есть класс отзывов

    [Key]
    public int id { get; set; }
    public string customerID { get; set; }

    public string sellerID { get; set; }
    public int Rating { get; set; }

    public string description { set; get; }

    [ForeignKey("customerID")]
    public virtual ApplicationUser Customer { get; set; }

    [ForeignKey("sellerID")]
    public virtual ApplicatoinUser Seller { get; set; }

Затем я попробовал этот запрос

var order = (from x in _context.Orders where x.Id == orderId select new
            {
                x.Seller,
                Order_Items = from a in x.Order_Items select new
                {
                 a.id, a.Quantity, a.mandatory,
                 Price = new
                 {
                     a.Price.FruitsAndVegs,a.Price.Date,a.Price.id, a.Price.priceA, a.Price.priceB
                 }
                },
                Reviews = new
                {
                    x.Reviews.id,
                    x.Reviews.Rating,
                    x.Reviews.description,
                },
                x.orderAmount,x.orderDateTime, x.orderStatus, x.lat, x.lng,x.reviewId, x.deliveredTime,
                x.description
            });

Когда я звоню от почтальона или моего основного приложения я получаю этот результат:

Results

но когда я попробовал

var order = (from x in _context.Orders where x.Id == orderId select new
            {
                x.Seller,
                Order_Items = from a in x.Order_Items select new
                {
                 a.id, a.Quantity, a.mandatory,
                 Price = new
                 {
                     a.Price.FruitsAndVegs,a.Price.Date,a.Price.id, a.Price.priceA, a.Price.priceB
                 }
                },
                x.orderAmount,x.orderDateTime, x.orderStatus, x.lat, x.lng,x.reviewId, x.deliveredTime,
                x.description
            });

, я получаю этот результат :

enter image description here

В чем может быть причина того, что объект проверки вызывает?

Примечание: мой внешний ключ обзора равен нулю.

Но покупатель и продавец также являются нулевыми, но они показывают его как нулевое.

Проверка вызывает у меня проблемы

...