Linq错误 - 不包含名称为“COname”的属性

时间:2011-01-03 13:14:06

标签: c# linq-to-sql

在数据绑定过程中,绑定到窗体视图中的字段时会出现以下错误:

DataBinding:'System.Data.Linq.EntitySet`1 [[LinqClassLibrary.dbml.OrderAgency,LinqClassLibrary,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]]'不包含名称为'的属性COname”。

代码段:

<asp:Label ID="COnameLabel" runat="server" Text='<%# Bind("OrderAgencies.COname") %>' />

查看它显示的对象浏览器:

从我的“订单”表中:

public System.Data.Linq.EntitySet<OrderAgency> OrderAgencies { set; get; }
Member of LinqClassLibrary.dbml.Order

和我的“OrderAgency”表:

public string COname { set; get; }
Member of LinqClassLibrary.dbml.OrderAgency

这曾经工作过。根据我对Linq2Sql的理解,这是从Order表引用OrderAgency表中的字段的正确方法。我在linq2sql上还是比较新的,所以也许我错过了一些明显的东西。

1 个答案:

答案 0 :(得分:2)

对您的问题的评论已经揭示了答案,所以这里是一个答案答案(而不是评论答案):

OrderAgenciesEntitySet<>(实体的集合),但在您的绑定中,您正在尝试访问COName,这是{{{1}的属性1}}实体类(单个实体)。在绑定中,您需要引用单个OrderAgency实体才能访问其OrderAgency属性。