2016-08-05 29 views
2

Ich migriere derzeit ein ASP.NET-Webformular in ASP.NET Core. Ich habe ein kleines Problem mit einer bestimmten Find-Methode. Ich bin ziemlich neu in .NET, also hoffe ich, dass der Code es besser erklären würde.Wie finde ich die Methode (params object [] keyValues) für eine DbSet-Instanz in ASP.NET Core?

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

ich speziell einen Ersatz für Find(Convert.ToInt32(id)) versuchen zu finden; Teil des Codes, in dem "ID" als eine Zeichenfolge an die Methode eingeht.

Um genauer zu sein, in .NET Core entfernten sie System.Data.Entity und diese Methode gefunden, um von dort zu kommen. (Dies ist von ASP.NET, nicht .NET-Core)

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

jedoch die DbSet Methode, die ich jetzt benutze ist aus folgenden: (Dieser ist von .NET-Core)

Microsoft.EntityFrameworkCore.DbSet<InfoRequest> 

aber Diese Klasse hat keine Suchmethode, die ich verwenden kann. Oder ich bin mir der Syntax nicht bewusst.

schließlich ein kleiner Ausschnitt aus wie „InfoRequest“ Klasse erstellt:

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

Ich hoffe, dass ich in der Lage war genug, um Informationen zu liefern, aber kurz, ich versuche, einen Ersatz in .NET-Core zu finden die "Finde" -Methode. Oder wenn Sie die drei Zeilen, die ich zuerst geteilt habe, durch eine Alternative ersetzen können, sollte das auch ausreichen. Vielen Dank.

+0

es ist immer noch unklar, was ist das Problem hier? Welches Problem haben Sie mit der 'Find' Methode? – Rahul

+0

Es ist in .NET Core nicht vorhanden oder ich kann es nicht finden. Ich werde versuchen, einige Punkte in der Frage klarer zu machen. –

+0

Sie können die Alpha-Versionen von 1.1 für diese Methode verwenden! Sie können sie auf der Myget-Website von dotnet finden und mit Ihrem Visual Studio verlinken. –

Antwort

3

AFAIK, Die Find Methode ist nicht Teil von EF 1.0, aber es ist markiert, dass es Teil von EF 1.1 wird, wie die EF GitHub issue zeigt. Sie können Beispiel implementiert Erweiterungsmethode here

+0

Meinst du, es ist "nicht" ein Teil von EF 1.0? Danke –

+0

Ja du hast Recht, habe meine Antwort aktualisiert :) –