2016-04-14 4 views
0

Ich habe eine einfache CRUD Anwendung aus Liste löschen i verwendet:Wie alle Produkte von Liste von parentId mit Kategorien und Telefonen, Für einzelnes Lösch Telefon

var arrayPhones = new List<Phone>(); 
     using (StreamReader file = new StreamReader(@"d:/phones.json")) 
     { 
      var strPhones = file.ReadToEnd(); 
      arrayPhones = JsonConvert.DeserializeObject<List<Phone>>(strPhones); 


      var currentPhone = arrayPhones.Where(p => p.Id == phone.Id).SingleOrDefault(); 
      arrayPhones.Remove(currentPhone); 
     } 

Jetzt i Kategorie löschen Tring und alle Telefone dieser Kategorie, Modell meines Telefon:

public class Phone 
{ 
    [JsonProperty("id")] 
    public int Id { get; set; } 

    [JsonProperty("parentId")] 
    public int ParentId { get; set; } 

    [JsonProperty("caption")] 
    public string Caption { get; set; } 

    [JsonProperty("imgUrl")] 
    public string ImgUrl { get; set; } 

Wie ich alle Telefone der Kategorie löschen? Danke für Antworten!

+1

Was 'ist Category' hier? –

+0

@MaheshChand Ich sichere meine Kategorie in einer anderen Datei, und löschen Sie die Methode der Löschkategorie aussehen wie einzelne löschen Telefonmethode. Es funktioniert, ich habe nur Probleme mit dem Löschen aller Telefone. Thnx für deinen Kommentar! –

Antwort

1

Für mehrere Datensätze wählen, die nicht entfernt werden und weisen aufzulisten,

arrayPhones = arrayPhones.Where(p => p.Id != phone.Id).ToList(); 
+0

es ist tolle Lösung, Thnx –

2

scheint einige Informationen fehlen. Wie ist Ihre Kategorie Klasse definiert? Wie verweist Ihre Telefonklasse auf die Kategorie?

sagen, wenn Telefon eine Stütze CategoryId hat, wäre es so etwas wie:

var phonesOfThisCategory = arrayPhones.Where(p => p.CategoryId == category.Id); 

foreach(var aPhone in phonesOfThisCategory) 
{ 
    arrayPhones.Remove(aPhone); 
} 
+0

Ich habe es getan, danke für Ihre Antwort, parentId in Phone = categoryId, –

Verwandte Themen