2011-12-15 19 views
6

Estoy tratando de seleccionar una sola propiedad [nombre de archivo] en una lista fuera de un ICollection donde dr405 tiene muchas propiedades.Extracto de una propiedad como una lista <String> de un ICollection de un modelo

return GetDR405ById(c, id).dr405files.Select(p => p.FileName).ToList<String>();

 public class dr405files 
{ 
    [Key] 
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public int FileId { get; set; } 
    public String TangiblePropertyId { get; set; } 
    public String FileName { get; set; } 
    public DateTime? UploadDate { get; set; } 
    public Byte[] FileData {get;set;} 
    public long? FileLength { get; set; } 


} 

Quiero que el SQL equivalente de SELECT [Column1] FROM [Table1] en contraposición a SELECT * FROM [Tabla 1]

+0

El código que tienes será ya hacer lo que está pidiendo. ¿Cuál es el problema? –

+0

¿Qué devuelve el método GetDR405ById()? – chopikadze

+0

@JoeWhite El problema es que no está funcionando como se esperaba. Esperaba que cuando publicara esta pregunta alguien dijera exactamente lo que dijiste. Ahora puedo revisar mis otros métodos para averiguar por qué esa declaración siempre devuelve 0 registros. –

Respuesta

12

Creo que lo que desea es hacer

return GetDR405ById(c, id).Select(p => p.FileName).ToList(); 

menos GetDR405ById realmente devuelve un objeto que tiene una propiedad llamada dr405files que es una colección genérica de objetos dr405files.

EDITAR.

Aviso También he quitado el parámetro de tipo genérico de ToList(). El nombre de archivo es una cadena, por lo que el compilador introducirá T.

Cuestiones relacionadas