检查实体是否已存在于数据库中的最快方法?

时间:2012-10-17 01:21:33

标签: c# database entity-framework sql-server-ce entity

目前我有这样的事情,检查是否已添加(简化)实体:

WinEveryBetBYeMiContext context = new WinEveryBetBYeMiContext();
string firstPlayerName = "R.Federer";
foreach (var player in context.Players)
{
       if (player.Name == firstPlayerName)
       {
            //Player already exists
       }
 }

但是因为可以有100多名玩家,这种方式看起来非常糟糕,而且速度也很慢。

我听说过LINQ TO SQL ..但我真的不知道它是否更好,更快,更有效.. 也许有人有一个很好的方法来检查这些事情,并可以帮助我。?

2 个答案:

答案 0 :(得分:2)

您可以使用LINQ使其更有效和可读:

using System.Linq;

var firstPlayerName = "R.Federer";
var context = new WinEveryBetBYeMiContext();
var exists = context.Players.Any(x => x.Name == firstPlayerName);

答案 1 :(得分:1)

context.Players.Any(p => p.Name == firstPlayerName);