2010-07-08 6 views

Répondre

1

Sur le chemin (SubSonic 3 uniquement)

var result = (
       from p in products 
       select new { Id = p.Id, 
          DisplayName = p.ProductCode + " " + p.ProductName } 
      ).ToList(); 

Une autre approche (SubSonic 2)

public class ProductList 
{ 
    public int Id {get;set;} 
    public string Displayname {get;set;} 
} 

public void Foo() 
{ 

    var result = DB.Select 
     (
      Product.Columns.Id, 
      "Concat(" + Product.Columns.ProductCode + ", " 
        Product.Columns.ProductName + ") as DisplayName" 
     ).From<Products>() 
     .ExecuteTypedList<ProductList>(); 
} 

Ou avec un DataTable

var result = new ProductCollection().Load().ToDataTable(); 
result.Columns.Add(
     "DisplayName", typeof(string), "ProductCode + ' ' + ProductName" 
); 

Le dernier paramètre est une expression (comme défini ici: http://msdn.microsoft.com/en-us/library/ms810291.aspx)

+0

Vous êtes si plein de victoire ... Je ne sais pas quoi faire. Merci beaucoup, ce premier extrait a parfaitement fonctionné pour moi. Vous êtes génial! – Walter

0

Comme avec n'importe quoi, peut être fait de nombreuses façons différentes.

La première qui vient à l'esprit est la suivante: Vous pouvez créer un nouvel objet anonyme dans les zones de sélection et de concaténation.