C # datatable Entity Framework

#c# #entity-framework #datagridview

#c# #entity-framework #datagridview

Вопрос:

У меня есть два объекта people и house , и я хочу показать таблицу people в datagridview, но в поле House отображается значение Program.Model.House ; Вместо этого я хочу показать название улицы, как я могу это сделать? (Я использую Entity Framework и источник данных для представления таблицы данных, который я использую context.tolist() )

 public class People 
{
    public string Name { get; set; }
    public House House { get; set; }
}

public class House
{
    public string Street { get; set; }
    public int Number { get; set; }
}
  

Ответ №1:

Переопределить toString() в собственном классе. Вот так :

 public override string ToString(){ return $"Street: {Street}"; }
  

Ответ №2:

Вы хотели показать данные, подобные Name и Street Name

В качестве имени вы можете использовать Model.Name

Для названия улицы вы можете использовать Model.House.Street

Например

  @foreach(var item in Model)
 {
       <td> @Model.Name</td>
       <td> @Model.House.Street</td>
 }
  

Может ли это помочь вам

Ответ №3:

Просто создайте новый объект для представления в виде таблицы с названием улицы.

 List<object> peopleData=new List<object>(); 
peopleData.Add(new{ ppl.Name,ppl.House.Street });

grdPeople.DataSource = peopleData;```