Как использовать 2 таблицы сущностей вместе? - PullRequest
0 голосов
/ 18 апреля 2019

Я работаю над школьным проектом, который показывает некоторые свойства базы данных, которые я изучил. У меня есть 2 класса сущностей, называемых Person и CarInformation. Я хочу показать Name, Location, WhishedDays от Person и Brand, PlateNumber из CarInformation, вместе.

Я попытался сгенерировать новый класс с именем, затем я сгруппировал Name, Location, WishedDays, Brand, PlateNumber. В соответствующем контроллере я создал функцию List with Select, но потерпел неудачу.

Класс сущности CarInformation

        public int Id { get; set; }             //Primary key of carinfo table

        public string Brand{ get; set; }
        public string PlateNumber { get; set; }
        public int Milage { get; set; }
        public string InsuranceCompany{ get; set; }
        public double ConsumptionPerMile { get; set; }
        public int DailyPrice { get; set; }
        public DateTime AvailableDates { get; set; }

        [ForeignKey("Persons")]                      
        public int OwnerId { get; set; }                //foregein key (Person table to carinfo table)
        public virtual Person Persons { get; set; }     //Navigation property


        public List<Sales> Sales { get; set; }

Лицо сущности класса

    public int Id { get; set; }                  //primary key of person table

    public string Name { get; set; }
    public string Location { get; set; }
    public int WishedDays { get; set; }

    public virtual CarInformation Cars { get; set; }     //Navigation property

    public List<CarInformation> cars { get; set; }  //bir insana ait birden fazla araba olabilir

    public List<Sales> sales { get; set; }

Класс Person-CarInformation



 public string Name { get; set; }
 public string Location { get; set; }
 public int WishedDays { get; set; }
 public string Brand { get; set; }
 public string PlateNumber { get; set; }

Метод индексации соответствующего контроллера

public ActionResult Index()
    {


        var isimler = db.People.
            Select(i => new Person_CarInformation() { Location=i.Location,Name=i.Name, Brand=i.Cars.Brand,PlateNumber=i.Cars.PlateNumber});


        return View(isimler.ToList());
    }

Когда я выполняю в этих обстоятельствах, я получаю этот результат Brand and PlateNumber пуст.

Любые советы?

Спасибо.

https://imgur.com/D9a8whD

1 Ответ

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

Вы не включили зависимый объект при получении данных.Вы можете получить его, изменив код, как показано ниже.

   var isimler = db.People.Include("Cars").
            Select(i => new Person_CarInformation() { Location=i.Location,Name=i.Name, Brand=i.Cars.Brand,PlateNumber=i.Cars.PlateNumber});
...