ObjectSet возвращает неправильные значения - PullRequest
0 голосов
/ 26 октября 2011

Я использую Entity Framework 4.0. В одном из моих классов мой конструктор выглядит так:

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

Мой objectSet будет содержать только объекты клиента с именем Bob, но несколько раз.

Возвращенный ObjectSet выглядит так:

Боб Боб Боб Боб

Таблица (сущность Customer) выглядит так:

Боб Энн, Питер, Алиса

Количество объектов в объектах bob = количество строк в таблице

Почему objectSet не возвращает объекты для Боба, Энн, Питера, Алисы? Что я делаю не так?

Заранее спасибо!

Update1:

Спасибо за ваш ответ!

Custumer является Entity в моем 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, результат показывает только Боба несколько раз.

UPDATE2:

У меня все еще есть некоторые проблемы с моей функцией. Он возвращает правильный набор результатов (не только Боб), но не выбирает только тех клиентов, у которых Comp.Id = conmpanyId. Я также попробовал

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

Как правильно написать запрос?

Спасибо!

...