Question

J'essaie de sélectionner certains champs de mon entité à utiliser comme source de données pour une vue de données, mais je n'ai pas réussi à le faire fonctionner. Une telle chose est possible? Par exemple, j'ai une entité Clients qui contient plusieurs références d'entité. Je veux prendre des champs de l'entité clients et de ces références d'entité et les afficher dans le datagridview. Je n'ai pas été capable de proposer une requête Linq pour accomplir cela, et même lorsque vous utilisez simplement l'entité entière comme source de données, les champs dans les références d'entité ne sont pas affichés. Une idée de ce que je fais mal? Merci pour l'aide.

Était-ce utile?

La solution

from customer in context.customers
select new 
{
    Name = customer.Name,
    City = customer.Address.City
}

qui créera un objet personnalisé et vous pourrez voir que la deuxième propriété fait référence à un champ d'entité sur l'entité principale .. essentiellement, il suffit de transformer les données en un nouvel objet et de lier l'énumérable généré à la grille.

désolé si c'est un peu marmonné en tapant sur mon téléphone.

Autres conseils

Avertissement: ceci n'est pas testé avec les références du cadre d'entité.

Lorsque vous utilisez des sources de données d'objet, vous pouvez référencer les propriétés des références d'objet, mais vous devez tout d'abord convertir l'objet:

<asp:Label ID="lblCity" runat="server" Text='<%# ((Customer)Container.DataItem).Address.City%>'></asp:Label>

Cela pourrait-il être votre problème pour accéder aux propriétés des références d'entité?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top