In Linq aber nur einige Spalten von dem mitgelieferten Objekt gehört

stimmen
0

Ich habe eine c # Asp.Net Web-API-Server und ich mache Post-Anfragen Json respone zu erhalten

Ich arbeite mit Linq und habe 2 Tabellen:

Zunächst ist eine forumMessage der jede Nachricht Punkt auf bestimmte Benutzer mit accountId:

public partial class forumMessage
{
    public int objectId { get; set; }        
    public string title { get; set; }
    public string body { get; set; }


    public int acountId { get; set; }//the user objectId
    public virtual user user { get; set; }
}

Zweitens ist der Benutzer:

public partial class user
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage(Microsoft.Usage, CA2214:DoNotCallOverridableMethodsInConstructors)]
    public user()
    {
        this.fora = new HashSet<forumMessage>();
    }

    public int objectId { get; set; }
    public string username { get; set; }
    public string password { get; set; }

    [System.Diagnostics.CodeAnalysis.SuppressMessage(Microsoft.Usage, CA2227:CollectionPropertiesShouldBeReadOnly)]
    public virtual ICollection<forumMessage> fora { get; set; }//list of messages
}

so, was ich brauche ist, um Antwort ein JSON-Array wie:

[{
$id: 1,
objectId: 2,
title: Message Title,
body: Message body,
acountId: 1,
user: {
    $id: 2,
    objectId: 1,
    username: Shay
}}]

Beachten Sie, dass die respons Ohne Benutzerkennwort oder der Benutzerliste der Nachrichten nur einige bestimmte Spalten anzeigen Thnx ist

Veröffentlicht am 11/03/2016 um 11:33
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
1

Fügen Sie kehrt alles, aber Sie können anonyme Objekte verwenden nur eine Teilmenge der Daten zurückgeben:

 from c in ctx.Customers
 join o in ctx.Orders on ..
 select new { c.ID, c.Name, o.OrderID, o.OrderDate };

Raue Beispiel, aber die Idee ist das anonyme Objekt der Teilmenge definiert, und Sie können das Objekt zu JSON kodieren.

Beantwortet am 11/03/2016 um 11:39
quelle vom benutzer

stimmen
0

Sie sollten Ihre Domain / Unternehmen obejct (forumMessage) in DTO umwandeln

Schauen Sie sich auf diese

Beantwortet am 11/03/2016 um 11:57
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more