如何在ASP.NET Core中的DbSet实例上使用Find(params object[]keyValues)方法

本文关键字:object params Find 方法 keyValues NET ASP Core 中的 实例 DbSet | 更新日期: 2023-09-27 18:01:00

我当前正在将ASP.NET Web表单迁移到ASP.NET Core中。我对特定的Find方法有一个小问题。我对.NET还很陌生,所以我希望代码能更好地解释它。

var env = Request.Headers.GetValues("environment").First();
var db = new FormsContext(env);
var request = db.InfoRequests.Find(Convert.ToInt32(id));

我特别想找到Find(Convert.ToInt32(id))的替代品;代码的一部分,其中"id"作为方法的字符串出现。

更具体地说,在.NET Core中,他们删除了System.Data.Entity和这个find方法。(这是来自ASP.NET,而不是.NET Core(

System.Data.Entity.DbSet<InfoRequest>.Find(params object[] keyValues);

然而,我现在使用的DbSet方法来自以下内容:(此方法来自.NET Core(

Microsoft.EntityFrameworkCore.DbSet<InfoRequest>

但是这个类没有我可以使用的find方法。或者我不知道语法。

最后,从"InfoRequest"类是如何创建的一个小片段:

public partial class FormsContext : DbContext
{
    ...
    public virtual DbSet<InfoRequest> InfoRequests { get; set; }
    ...
}

我希望我能够提供足够的信息,但很快,我将尝试在.NET Core中找到一个替代"find"方法的方法。或者,如果你可以用一个替代品代替我首先分享的三行,那也应该足够了。谢谢

如何在ASP.NET Core中的DbSet实例上使用Find(params object[]keyValues)方法

AFAIK,Find方法不是EF 1.0的一部分,但正如EF GitHub问题所示,它被标记为EF 1.1的一部分。您可以在这里找到示例实现的扩展方法