小编Ian*_*son的帖子

EF Core 3.1 / EF Core 5.0 中的 GroupBy 不起作用,即使是最简单的例子

我正在将 EF6.x 项目更新到 EF Core 3.1。决定回归基础并再次遵循如何从头开始建立关系的示例。

根据微软官方文档EF Core Relationship Examples,我将示例翻译成下面的控制台应用程序:

using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace BlogPostsExample
{
    class Program
    {
        async static Task Main(string[] args)
        {
            // SQL Running in a Docker container - update as required
            var conString = "data source=localhost,14330;initial catalog=BlogsDb;persist security info=True;user id=sa;password=<Your super secure SA password>;MultipleActiveResultSets=True;App=EntityFramework;";

            var ctx = new MyContext(conString);

            await ctx.Database.EnsureCreatedAsync();

            var result = await ctx.Posts.GroupBy(p => p.Blog).ToArrayAsync();

        }
    }

    class MyContext : DbContext
    {
        private readonly string …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework group-by ef-core-3.1 ef-core-5.0

31
推荐指数
2
解决办法
8613
查看次数

将编译的Func方法添加到一起的目的是什么?

我已经看到可以将编译的方法一起添加.

Expression<Func<Customer, bool>> ln = c => c.lastname.Equals(_customer.lastName, StringComparison.InvariantCultureIgnoreCase);
Expression<Func<Customer, bool>> fn = c => c.firstname.Equals(_customer.firstName, StringComparison.InvariantCultureIgnoreCase);
Expression<Func<Customer, bool>> fdob = c => c.DOB.ToString("yyyyMMdd").Equals(_customer.DOB.ToString("yyyyMMdd"));

var filter = ln.Compile() + fn.Compile() + fdob.Compile();
Run Code Online (Sandbox Code Playgroud)

这样做有意义吗?

我打算使用过滤器代替lambda表达式来过滤客户的存储库:

IEnumerable<Customer> customersFound = _repo.Customers.Where(filter);
Run Code Online (Sandbox Code Playgroud)

根据业务逻辑,我可能会或可能不会将三个编译的方法一起添加,但是选择,并可能添加更多编译的方法.

任何人都可以解释是否将它们组合在一起会构建查询字符串吗?有人有更好的建议吗?

我可以链接"Where"语句并使用常规的lambda表达式,但我对你可能从编译方法中获得的内容感兴趣并添加它们!

c# linq lambda compiled

7
推荐指数
3
解决办法
234
查看次数

如何从 Kubernetes 部署的应用程序中删除服务器标头

我以先问后答的方式问这个问题。

如果您为 Helm 图表或常规“kubectl apply”部署创建 Ingress 对象,则在部署到集群后,您可能会在响应中看到服务器标头。这被视为安全问题。它不应该存在。

在此处输入图片说明

您可能无法控制集群或入口控制器。如何删除有问题的标题?

kubernetes kubernetes-ingress nginx-ingress

5
推荐指数
1
解决办法
2679
查看次数