[英]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.