我在JSON数据的SQL数据库表中有一列。我可以使用Entity Framework和LINQ根据SQL JSON列中的字段/值进行查询和过滤吗?
我正在使用SQL 2016,VS 2017,EF Core 2.0,.NET Core 2.0。
感谢。
答案 0 :(得分:3)
Brian提供了一些很好的选择链接。我认为这些仍需要您完全接收SQL数据,然后在.NET代码中应用过滤;我真的想过滤掉SQL服务器端的东西,避免拉回所有行,然后过滤。
此外,因为我的JSON数据可以为每一行提供不同的属性,所以使用SQL Server进行过滤最好。
我将根据Brian的代码项目参考选择在LINQ中使用SQL语句:
var blogs = _context.Blogs
.FromSql<Blog>(@"SELECT * FROM Blogs WHERE JSON_VALUE(Owner, '$.Name') = {0}", Owner)
.ToList();