J'essaie d'utiliser la méthode Group By soutenue par LINQ.Comment regrouper par enregistrements dans C#
Je cette classe
public class Attribute
{
public int Id {get;set;}
public string Name {get;set;}
public string Value {get;set;}
}
J'ai une méthode de service qui retrive un IList
var attributes = _service.GetAll();
Id Name Value
7 Color Black
7 Color White
220 Size 16
Maintenant j'ai une autre classe de remorquage
un est
public class AttributeResourceModelSubItem
{
public string Name {get;set;}
public List<AttributeValueResourceModelSubItem> values { get; set; }
}
public class AttributeValueResourceModelSubItem
{
public int Id;
public string Name {get;set;}
}
Je suis essayer de faire une boucle dans la liste des attributs. et si l'attribut id est le même, je veux insérer les enregistrements où id = à cet id dans le AttributeValueResourceModelSubItem dans lequel id = 1 et Name sera égal à la valeur de l'attribut.
Ce que j'ai obtenu jusqu'ici.
private IList<AttributeResourceModelSubItem> FormatAttributes(IList<Attribute> attributes)
{
Dictionary<int, Attribute> baseTypes = new Dictionary<int, Attribute>();
AttributeResourceModelSubItem attributeResourceModelSubItem = null;
var list = new IList<AttributeResourceModelSubItem>();
foreach (var item in attributes)
{
if (!baseTypes.ContainsKey(item.Id))
{
attributeResourceModelSubItem = new AttributeResourceModelSubItem()
attributeResourceModelSubItem.key = item.Name;
attributeResourceModelSubItem.values.Add(new AttributeValueResourceModelSubItem()
{
id = 1,
name = item.Value
});
list.Add(attributeResourceModelSubItem);
}
baseTypes.Add(item.Id, item);
}
return list;
}
Toute aide est appréciée.
D'où vient 'values' dans' attributeResourceModelSubItem.values.Add'? – pushpraj
En fait, je dois ajouter l'attribut values dans la classe AttributeResourceModelSubItem. Je vais le modifier. – user123456
'new IList();'? –