实体框架6.1.3

时间:2016-06-29 15:56:00

标签: entity-framework-6

我有一个项目,可以从数据库中查找不同的订单。然后,它会从返回订单中的字段创建一个CustomerNumbers字符串。然后它根据CustomerNumbers过滤订单。问题是,当应该有10个时,它只返回2个客户。我确实返回了所有客户的数量&这也只返回2个客户。数据库中共有667K +客户。我尝试卸载EF nuget包&重新安装。我检查确保我设置的存储库无论如何都没有过滤任何内容。我卡住了& amp;在枪右边。任何帮助都会很棒。此外,欢迎任何重构建议或EF更改。谢谢!

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();

1 个答案:

答案 0 :(得分:1)

很抱歉没有获得更多详细信息,但我确实解决了这个问题。最初我遇到了使用app(EF)将数据导入数据库的问题。为了解决这个问题并继续前进,我使用SSMS导入数据。由于我没有使用应用程序(EF),为了导入数据,Discriminator列从未填入数据。因此,返回的唯一两行是Discriminator列中具有正确值的行。运行快速SQL语句以使用正确的Discriminator值更新所有行后,一切正常。

相关问题