我正在将 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) 我已经看到可以将编译的方法一起添加.
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表达式,但我对你可能从编译方法中获得的内容感兴趣并添加它们!
我以先问后答的方式问这个问题。
如果您为 Helm 图表或常规“kubectl apply”部署创建 Ingress 对象,则在部署到集群后,您可能会在响应中看到服务器标头。这被视为安全问题。它不应该存在。
您可能无法控制集群或入口控制器。如何删除有问题的标题?