In diesem Thread How to use raw normal sql in ASP.NET MVC without linq?Wie in einer ASP.NET MVC-Datei Daten aus einer Raw-SQL-Abfrage den Model-Eigenschaften zugeordnet werden?
Ich weiß, wie Sie DbContext verwenden, um Daten Model Eigenschaften zuzuordnen und sie in Razor View zu verwenden. Manchmal muss ich jedoch eine komplexe Raw-SQL-Abfrage verwenden, um Daten aus vorhandenen DB-Tabellen abzurufen. Von dem obigen Link habe ich die Idee bekommen. SQL to Model, das ist genau das, was ich brauche. Aber meine Frage ist, Was muss ich in der DbContext-Klasse schreiben? Diese
ist aus der obigen Referenz
static ArticlesDataContext dc = new
ArticlesDataContext(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
Und im Controller (... glaube ich),
var arts = dc.ExecuteQuery<Art>(@"Select * from articles");
Ich denke, die ArticlesDataContext Klasse ist so etwas wie dieses
public class ArticlesDataContext : DbContext
{
public ArticlesDataContext() : base("name=ConnectionString")
{
}
public DbSet<Article> Articles { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
...
// something here to map the DB table columns
}
}
Wenn ich die rohe SQL-Abfrage in Controller ausführen muss, um Daten zu erhalten, Was mache ich mit der DbContext-Klasse, die Daten mit EF bekommen soll? Ich bin verwirrt.
Oh ja, und, Was macht das "@" vor der SQL-Anweisung?
Ich bin sehr neu in ASP.NET MVC, hoffe, ich habe meine Frage klar gemacht. Danke.
@ bevor eine Zeichenfolge in C# zu der Stelle kommt, an der Sie kein Zeichen außer dem doppelten Anführungszeichen verwenden müssen. –
Einige Optionen: https://msdn.microsoft.com/en-us/data/jj592907.aspx –
@TimothyKanski Thx! –