如何使用实体框架检查数据库中是否已存在数据

时间:2013-07-01 12:31:21

标签: c# database entity-framework

假设我有一个包含两张桌子,船只和水手的数据库。假设我还有很多文本文件,其中包含在船上提供服务的船员的信息 当然,我不希望水手中的两个不同的行是同一个水手。这是否意味着当我浏览文本文件时,每当我看到水手是否已经在数据库中时,我是否必须检查数据库?
是否有一些检查相关水手是否已经在数据库中的方法?

2 个答案:

答案 0 :(得分:0)

假设DbContext db带有DbSet<Sailor> Sailors,如果您不想每次都创建所有ID的列表时都要检查数据库:

var ids = db.Sailors.Select(x => x.Id).ToList();

并检查该对象的所有内容:

var exists = ids.Contains(idFromFile);

答案 1 :(得分:0)

这是最佳检查数据存在的正确方法。

var exists = db.Sailors.Any(x => x.Id == idFromFile);