将两个或多个实体数据绑定到单个DataSource(EF6)

时间:2014-10-24 18:40:49

标签: c# datagridview frameworks entity

好吧,我试图将我的模型数据绑定到dataGridView的数据源,但我有一个问题,一个小问题。 对于这个例子,让我们使用这个模型:

public class Orders
{
    public int OrderID { get; set; }
    public decimal Total { get; set; }
    public DateTime Date { get; set; }

    public virtual Clients Clients { get; set; }
}

public class Clients
{
    public int ID { get; set; }
    public string Name { get; set; }
}

我想在dataGridView的DataSource上显示以下列:OrderID,Total和客户端名称。 我的GetOrders()返回一个IList,我可以通过代码获取名称。

IList<Orders> orders = GetOrders();
var name = orders.Clients.Name; 

我应该使用IEnumerable吗? IQueryable的? IList的?我不知道该怎么做了。 我应该创建一个视图吗?

1 个答案:

答案 0 :(得分:0)

您可以在Orders类中创建属性,如下所示:

public class Orders
{
    public int OrderID { get; set; }
    public decimal Total { get; set; }
    public DateTime Date { get; set; }

    public virtual Clients Clients { get; set; }

    public string ClientsName
    {
      if(Clients != null)
      {
         return Clients.Name
      }

      return string.Empty;
    }
}

或在部分班级。接下来,您应该将订单集合绑定到dataGridView。