[英]ASP.NET CORE 2 - Entity type 'IdentityUserRole<int>' is defined with a single key property, but 2 values were passed to the 'DbSet.Find' method
[英]How to use Find(params object[] keyValues) method on a DbSet instance in ASP.NET Core?
我目前正在將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中尋找“查找”方法的替代品。 或者,如果您可以將我最初分享的三行內容替換為另一行,也應該足夠。 謝謝。
AFAIK, Find
方法不是EF 1.0的一部分,但是如EF GitHub問題所示,它已被標記為EF 1.1的一部分。 您可以在此處找到示例實現的擴展方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.