ObjectSet返回不正确的值

时间:2011-10-26 06:59:13

标签: vb.net entity-framework-4 objectset

我正在使用Entity Framework 4.0。在我的一个类中,我的构造函数如下所示:

Public Sub New(ByVal context As ObjectContext)
    Me.objectSet = context.CreateObjectSet(Of Customer)()
End Sub

我的objectSet只会保存名为Bob的客户的对象,但会多次。

返回的ObjectSet如下:

  

Bob Bob Bob Bob

表(实体Customer)如下所示:

  

Bob Ann Peter Alice

objectSets bob对象数=表格行数

为什么objectSet不返回Bob,Ann,Peter,Alice的对象? 我做错了什么?

提前致谢!

UPDATE1:

感谢您的回复!

Custumer是我的ObjectContext中的实体,Enity类是自动生成的。 我得到了这样的客户:

Public Function GetAll(ByVal companyId As String) As  
System.Collections.Generic.IEnumerable(Of Customer) Implements   
ICustomerRepository.GetAll
    Return Me.objectSet.Where(Function(p) p.CompId = companyId).AsEnumerable
End Function

问题是CustomerRepository中的构造函数不检索客户集,它只在结果集中一次又一次地返回一个客户。当我在构造函数中插入一个断点并将我的光标放在ObjectSet上时,结果只显示Bob多次。

UPDATE2:

我的功能仍有问题。它返回reult集正确,(不仅是Bob),但它不会只选择Comp.Id = conmpanyId的客户。我也试过

Return From p In Me.objectSet Where p.CompId = companyId Select p

如何正确编写查询?

谢谢!

0 个答案:

没有答案