2016-06-29 2 views
0

У меня есть проект, который ищет различные заказы из базы данных. Затем он создает строку CustomerNumbers из поля в возвращаемых заказах. Затем он фильтрует заказы на основе CustomerNumbers. Проблема в том, что только когда-либо возвращается 2 клиентам, когда должно быть 10. Я вернул счет всех клиентов &, который также возвращает только 2 клиента. В базе данных всего 667K + клиентов. Я попытался удалить пакет EF nuget &. Я проверил, чтобы репозитории, которые у меня были установлены, ни в чем не фильтруют. Я застрял & под пистолетом справа. Любая помощь будет большой. Также приветствуются любые предложения по рефакторингу или изменения EF. Благодаря!Entity Framework 6.1.3

var count = dbCustomer.Records.Count(); 

var orders = dbOrders.Records.ToList(); 
data.Orders = orders; 

var orderCustomerNumbers = data.Orders.Select(o => oMeta15).Distinct().ToList(); 
var orderNumbers = data.Orders.Select(o => o.OrderNumber.ToLower()).ToList(); 

data.Customers = dbCustomer.Records.Where(c => orderCustomerNumbers.Contains(c.CustomerNumber)).To.List(); 
data.Payments = dbPayment.Records.Where(p => orderCustomerNumbers.Contains(p.OrderNumber.ToLower())).ToList(); 
data.Products = dbProducts.Records.Tolist(); 
+0

Кроме того, я развернул быстрое консольное приложение и сделал код сначала против базы данных. Я могу получить всех клиентов в этом приложении. – gt5193

+1

Можно ли разделить соответствующий код, чтобы люди могли видеть, где вы, возможно, пошли не так? Это поможет получить больше ответов. – nbryans

+0

@ gt5193 Это также поможет включить фрагмент кода в вопрос, а не использовать изображение. Вы можете форматировать код с 4 ведущими пробелами. –

ответ

1

Извините, что не получил больше информации, но я исправился. Первоначально у меня были проблемы с получением данных в базе данных с помощью приложения (EF). Чтобы обойти проблему и продолжать двигаться вперед, я использовал SSMS для импорта данных. Поскольку я не использовал приложение (EF), чтобы импортировать данные, столбец «Дискриминатор» никогда не заполнялся данными. Поэтому единственными двумя возвращаемыми строками были строки с правильным значением в столбце «Дискриминатор». После запуска быстрого оператора SQL, чтобы обновить все строки с правильным значением Disccriminator, теперь все работает нормально.

Смежные вопросы