ef core 中实体类属性为string[], 如何在LINQ to Entities中查询,之前正常

郑岩 1 信誉分
2024-10-31T15:16:49.7733333+00:00

efcore 8,实体类如下:

public class DemoClass {
    public string[] Flag {get;set;}
}

查询:

var list = db.DemoClasses.Where(m=>m.Flag.Contains("xxx")).ToList();

之前是正常的,更新到了 8.0.10 后,这样做就报错了,怎么样让这样的查询能正常。或者是否有其他替代方案,可以查询 Flag 中的内容?

Entity Framework Core
Entity Framework Core
实体框架数据访问技术的轻量型、可扩展、开源、跨平台版本。
50 个问题
.NET
.NET
基于 .NET 软件框架的 Microsoft 技术。
67 个问题
0 个注释 无注释
{count} 票

1 个答案

排序依据: 非常有帮助
  1. Hongrui Yu-MSFT 3,015 信誉分 Microsoft 供应商
    2024-11-01T07:28:37.9266667+00:00

    你好,@郑岩。欢迎来到 Microsoft 问答。

    解决方案:利用AsEnumerable()代替AsQueryable()。

    你可以尝试下面的代码

    var list = db.DemoClasses.AsEnumerable().Where(m=>m.Flag.Contains("xxx")).ToList();
    

    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。

    注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。


你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。