-2

我有下一个对象:

公共部分类 PEDIDOS

{

public PEDIDOS()
{
    this.ARTICULOS = new HashSet<ARTICULOS>();
}
public int id { get; set; }
public string descripcion { get; set; }
public PROVEEDORES PROVEEDORES { get; set; }

}

还有 PROVEEDORES 类:

public partial class PROVEEDORES
    {
    public PROVEEDORES()
    {
        this.PEDIDOS = new HashSet<PEDIDOS>();
    }

    public int id { get; set; }
    public string nombre { get; set; }
    public string codProveedor { get; set; }

}

我有一份 PEDIDOS 清单。

我想在 datagridview(windows 窗体)中显示这个列表:

dataGridView1.DataSource = lista;

然后我得到这个:

|id | descrpcion | PROVEEDORES                    |
--------------------------------------------------|
|1  | EXAMPLE    | system.data.dinamicproxyes.....|
|2  | example    | system.data.dinamicproxyes.....|
...

但我需要proveedores 列,它是PROVEEDORES 类的“名词”字段:

|id | descrpcion | PROVEEDORES                    |
--------------------------------------------------|
|1  | EXAMPLE    | proveedor's name               |
|2  | example    | proveedor's name               |
    ...
4

2 回答 2

1

您可以通过以下方式创建列表:


var lista=  context.PEDIDOS.Select( i=>  new {
id=i.id,
description=i.description,
PROVEEDORES=i.ROVEEDORES.nombre
}).ToList();

....
dataGridView1.DataSource = lista;

于 2021-02-06T18:40:32.553 回答
0

实现您所描述的一种方法是覆盖该PROVEEDORES ToString方法。像……</p>

public override string ToString() {
  return nombre;
}
于 2021-02-06T18:41:17.150 回答