2016-08-05 1 views
2

В настоящее время я переношу веб-форму 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 Ядра для метод «найти». Или, если вы можете заменить три строки, которые я первым поделил с альтернативой, это тоже должно быть достаточно. Благодарю.

+0

все еще неясно, в чем проблема? какая у вас проблема с методом «Найти»? – Rahul

+0

Это не существует в .NET Core или я не могу его найти. Я постараюсь сделать некоторые моменты в вопросе более ясными. –

+0

Вы можете использовать альфа версии 1.1 для этого метода! Вы можете найти их на сайте myget dotnet и связать их с вашей Visual Studio. –

ответ

3

AFAIK, метод Find не является частью EF 1.0, однако отмечается, что он будет частью EF 1.1, как показывают EF GitHub issue. Вы можете найти образец, внедренный метод расширения here

+0

Вы имели в виду, что это «не является» частью EF 1.0? Спасибо –

+0

Да, вы правы, обновили мой ответ :) –

Смежные вопросы