2017-08-24 118 views
0

我需要使用实体框架确定Oracle数据库中是否存在密钥。我的前端使用这个电话很多,我想知道哪种方法最快?我应该得到第一个匹配的记录并检查是否为空,检查密钥的计数并查看它是否大于1,或使用Any?或者有没有我没有想到的解决方案比这更快?用实体框架检查Oracle数据库中是否存在记录的最快方法6

+0

如果它是一个关键,为什么不使用'context.Entity.Find(keyValue)'?如果记录在上下文中,它也不会调用数据库。 –

回答

1

我推荐Any,因为你不需要数数。它应该被转换成EXISTS语句,这比COUNT(*)更快。

也许是这样的:

var exists = ctx.MyEntities.Where(x => x.Id == ...).Any(); 

不要实例化你的实体(例如,使用Find),因为这会损害性能,因为你只需要检查一个记录存在。

相关问题