Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 返回实体Id不等于int数组中任何值的实体_C#_Entity Framework_Entity Framework Core - Fatal编程技术网

C# 返回实体Id不等于int数组中任何值的实体

C# 返回实体Id不等于int数组中任何值的实体,c#,entity-framework,entity-framework-core,C#,Entity Framework,Entity Framework Core,如果Id不等于int数组中的任何值,如何让EF Core返回一个实体 我显示一组图片,需要从数据库中选择一张当前未显示的图片 到目前为止我得到的代码(不多): 公共异步任务GetUniquePicture(int[]existingId) { i结构结果=null; _context.Pictures.Where(); } 您可以使用包含 _context.Pictures.Where(r => !existingIds.Contains(r.ID)); 编辑 正如Michal在评论中提

如果
Id
不等于int数组中的任何值,如何让EF Core返回一个实体

我显示一组图片,需要从数据库中选择一张当前未显示的图片

到目前为止我得到的代码(不多):

公共异步任务GetUniquePicture(int[]existingId) { i结构结果=null; _context.Pictures.Where(); }
您可以使用
包含

_context.Pictures.Where(r => !existingIds.Contains(r.ID));
编辑


正如Michal在评论中提到的,如果您需要返回单个实体,请使用
FirstOrDefault
一起使用

_context.Pictures.Where(r => !existingIds.Contains(r.ID));
编辑


正如Michal在评论中提到的,如果需要返回单个实体,请使用
FirstOrDefault
,我将使用
FirstOrDefault
方法,该方法接受谓词来指定过滤。谓词使用数组的
包含
方法:

_context.Pictures.FirstOrDefault(picture => ! existingIds.Contains(picture.ID));

请注意,如果pedicate过滤掉所有元素,
FirstOrDefault
将返回
null

我将使用
FirstOrDefault
方法,该方法接受谓词来指定过滤。谓词使用数组的
包含
方法:

_context.Pictures.FirstOrDefault(picture => ! existingIds.Contains(picture.ID));

请注意,如果pedicate过滤掉所有元素,
FirstOrDefault
将返回
null

您可以使用
all

_context.Pictures.Where(picture => existingIds.All(id=> id != picture.ID));
如果只想返回元素而不是集合:

_context.Pictures.FirstOrDefault(picture => existingIds.All(id=> id != picture.ID));

您可以使用
All

_context.Pictures.Where(picture => existingIds.All(id=> id != picture.ID));
如果只想返回元素而不是集合:

_context.Pictures.FirstOrDefault(picture => existingIds.All(id=> id != picture.ID));

这就是我的结论:(Random是一种自定义扩展方法)

公共异步任务GetUniquePicture(int[]existingId) { var tmp=wait_context.Pictures.Where(p=>!existingIds.Contains(p.Id)).toListSync(); 返回tmp.Random().First(); }

谢谢

这就是我的结论:(Random是一种自定义扩展方法)

公共异步任务GetUniquePicture(int[]existingId) { var tmp=wait_context.Pictures.Where(p=>!existingIds.Contains(p.Id)).toListSync(); 返回tmp.Random().First(); }

谢谢

检查它是否为null:)注意方法需要返回单个实体而不是集合。检查它是否为null:)注意方法需要返回单个实体而不是集合。