Ich habe ein Modellprojekt, in dem es ein paar [Fremdschlüssel] -Attribut wie Bestellungen, Benutzer gibt .... Das ist praktisch, um mehr Informationen an anderer Stelle zu erhalten. Zum Beispiel kann ich den Benutzernamen einfach mit project.users.username abrufen.Wie vermeidet man in Kendo Grid die Übertragung von Daten auf die Client-Seite?
Jetzt gibt es Frage:
Als ich das Telerik Kendo Gitter verwenden, indem Sie die Inhalte des Projekts zur Liste
.Read(read=>read.Action("GetProjectData", "Project", new {projID = Model.projID}))
Die Funktion in Server-Seite wie folgt aus:
public ActionResult GetProjectData([DataSourceRequest]DataSourceRequest request, long projID)
{
var p = db.project.where(c=>c.projectID == projID);
return Json(p.ToDataSourceResult(request))
}
die Webseite ist in Ordnung. Es verzeichnet den ganzen Inhalt dessen, was ich will. Aber wenn ich die Daten debugge, die vom Server gesendet werden, habe ich festgestellt, dass der Server viele zusätzliche Daten einschließlich einer tiefen Kopie der Projektdaten gesendet hat. Alle Benutzerinformationen sind im Antwortpaket enthalten. Ich habe einige Fremdschlüssel im Benutzermodell und diese Klassendaten gibt es auch. Die Daten sind riesig.
Gibt es eine Möglichkeit, den Server nur die Daten der ersten Schicht aus Sicherheits- und Effizienzgründen senden zu lassen? Ich habe eine neue Klasse erstellt und einfach die benötigten Daten aus dem Projekt kopiert und an den Client gesendet. Gibt es einen einfachen Weg?
Dank