使用元组查询实体框架核心

时间:2020-04-24 09:57:06

标签: c# entity-framework-core tuples

我遇到一种情况,我收到一个与表中的键相对应的元组列表。我正在尝试使用.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();
}

但是这些都不是正确的。谁能帮我?实现我在这里尝试的正确方法是什么?

谢谢

0 个答案:

没有答案