В настоящее время я переношу веб-форму ASP.NET в ASP.NET Core. У меня небольшая проблема с конкретным методом Find. Я совершенно новичок в .NET, поэтому надеюсь, что код объяснит это лучше.Как использовать метод поиска (params object [] keyValues) на экземпляре DbSet в ASP.NET Core?
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 и этот метод поиска использовался для этого. (Это из ASP.NET, не .NET ядра)
System.Data.Entity.DbSet<InfoRequest>.Find(params object[] keyValues);
однако метод DbSet, что я использую сейчас из следующих действий: (Это один от .NET Ядра)
Microsoft.EntityFrameworkCore.DbSet<InfoRequest>
но этот класс не имеет метода поиска, который я могу использовать. Или я не знаю синтаксиса.
Наконец, небольшой фрагмент из того, как класс «InfoRequest» создано:
public partial class FormsContext : DbContext
{
...
public virtual DbSet<InfoRequest> InfoRequests { get; set; }
...
}
Я надеюсь, что я был в состоянии предоставить достаточно информации, но в скором времени, я пытаюсь найти замену в .NET Ядра для метод «найти». Или, если вы можете заменить три строки, которые я первым поделил с альтернативой, это тоже должно быть достаточно. Благодарю.
все еще неясно, в чем проблема? какая у вас проблема с методом «Найти»? – Rahul
Это не существует в .NET Core или я не могу его найти. Я постараюсь сделать некоторые моменты в вопросе более ясными. –
Вы можете использовать альфа версии 1.1 для этого метода! Вы можете найти их на сайте myget dotnet и связать их с вашей Visual Studio. –