我遇到一种情况,我收到一个与表中的键相对应的元组列表。我正在尝试使用.Contains或.Any查询表,但是EF Core不喜欢元组。
举个例子,这是我的实体:
Target.Columns(Target.Columns.Count)
这是我的方法:
public class MyEntity
{
public int Key1 { get; set; }
public int Key2 { get; set; }
// Other fields
}
我也尝试了Contains:
public async Task<IEnumerable<MyEntity>> Load(IEnumerable<(int key1, int key2)> entityIdList)
{
return await context.Table.Where(e => entityIdList.Any(id => id.key1 == e.Key1 && id.key2 == e.Key2)).ToArrayAsync();
}
我还尝试使用匿名对象:
public async Task<IEnumerable<MyEntity>> Load(IEnumerable<(int key1, int key2)> entityIdList)
{
return await context.Table.Where(e => entityIdList.Contains((e.Key1, e.Key2))).ToArrayAsync();
}
但是这些都不是正确的。谁能帮我?实现我在这里尝试的正确方法是什么?
谢谢