5

我想检查一个实体是否已经添加到数据库中。a那么,我怎样才能看到和之间的这种区别b

var a = dataContext.Things.First(x => x.Name == something);
var b = new Thing { Name = something };

为了更清楚,如果我有这个:

var thing = dataContext.Things.FirstOrDefault(x => x.Name == something) 
            ?? new Thing { Name = something };

如何查看是否thing需要插入?

4

1 回答 1

4

如果您使用FirstOrDefault而不是,如果没有匹配项First,它将返回。null

至于知道是否需要插入 - 只需记住它是否为 null 开始:

var a = dataContext.Things.FirstOrDefault(x => x.Name == something);
bool needsInsertion = (a == null);
a = a ?? new Thing { Name = something }; 

或者,如果有一个 ID 字段Thing由数据库自动填充,您可以使用它来检测它是否已经在数据库中。

于 2009-06-02T08:19:23.543 回答