Ich möchte Daten aus zwei Tabellen in einer Ansicht mit Hilfe einer gespeicherten Prozedur anzeigen. Ich stehe beim Abrufen von Datensätzen fest, kann keine Ansichtsmodellklasse in DbSet
als falsch schreiben, habe meinen Code gepostet.Gespeicherte Prozedur verwenden, um Daten aus mehreren Spalten abzurufen und in einer Ansicht anzuzeigen
Und auch ich möchte Daten von der Steuerung in stark typisierten anzeigen übergeben.
Weitere Informationen finden Sie im Abschnitt zum Kurzschließen.
Die Anzahl der Daten korrekt sind, aber es gibt darin keine Daten.
Modell
public class tblStudents
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public DateTime? CreatedDate { get; set; }
}
public class tblStudentDetails
{
[Key]
public int StudentId { get; set; }
public string Address { get; set; }
public DateTime? CreatedDate { get; set; }
}
//This class contains columns from both the tables
public class AllDataa
{
public class Dataa
{
public int Id { get; set; }
public string Name { get; set; }
public string Address { get; set; }
}
}
Ansichtsmodell:
public class VMStudentDetails
{
public List<tblStudents> students { get; set; }
public tblStudentDetails StudentDetails { get; set; }
public IEnumerable<AllDataa> AllData { get; set; }
}
Stored Procedure:
CREATE PROCEDURE usp_StudentDetail
AS
BEGIN
SELECT
S.Name, SD.Address
FROM
tblStudents S
INNER JOIN
tblStudentDetails SD ON S.Id = Sd.StudentId
END
-Controller
public ActionResult Index()
{
var model = new MVCLearning.Models.VMStudentDetails();
//What to write in Sqlquery?
//model.AllData = db.Database.SqlQuery<>("usp_StudentDetail").ToList();
//This is not working the data is not coming in Alldata
model.AllData = db.Database.SqlQuery<AllDataa>("usp_StudentDetail").ToList();
return View(model);
}
Es sei denn, es gibt ein anderes Problem aufgrund falscher Parameter- oder Namenskonflikte. db.Database.SqlQuery sollte funktionieren –
Sir ist eine normale SQL-Select-Aufruf, kein Parameter ist nicht beteiligt. – Dave
Ich würde Ihnen empfehlen, die zugrunde liegenden SQL von Entität Framework generiert –