繁体   English   中英

C#:如何查看Linq2SQL实体是否在数据库中

[英]C#: How to see if a Linq2SQL entity is in the database

我想检查一个实体是否已添加到数据库中。 那么,我怎样才能看到ab之间a这种差异?

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

如果您使用FirstOrDefault而不是First ,那么如果没有匹配则返回null

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM