Linq to Entities,Entity References和DataGridViews

时间:2009-01-15 19:18:24

标签: linq datagridview entityreference

我正在尝试从我的实体中选择某些字段作为数据网格视图的数据源,但我无法使其工作。这样的事情可能吗?例如,我有一个包含多个实体引用的Customers实体。我想从客户实体中获取字段,并从这些实体引用中获取字段,并在datagridview中显示它们。我无法想出Linq查询来完成此任务,即使您只是使用整个实体作为数据源,也不会显示entityreferences中的字段。知道我做错了什么吗?谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

from customer in context.customers
select new 
{
    Name = customer.Name,
    City = customer.Address.City
}

将创建一个自定义对象,您可以看到第二个属性引用主实体上的实体字段。基本上只是将数据转换为新对象并将生成的可枚举绑定到网格。

抱歉,如果这有点笨拙,请在我的手机上打字。

答案 1 :(得分:0)

警告:未对实体框架引用进行测试。

使用对象数据源时,可以引用对象引用的属性,但必须首先转换对象:

<asp:Label ID="lblCity" runat="server" Text='<%# ((Customer)Container.DataItem).Address.City%>'></asp:Label>

这可能是您访问实体引用属性的问题吗?