2010-04-16 5 views
0

J'ai 3 tables dans ma base de données. Chaque table a 3 champs chacun, excluant le champ ID. dont 2 champs sont de type nvarchar. Aucune des tables n'est liée.association de plus d'un modèle à un listview

Ma listeAfficher dans l'application permet à l'utilisateur de faire une recherche dans ma base de données, la recherche étant incrémentielle. La recherche inclut les champs nvarchar des 3 tables, soit 6 champs au total.

Par exemple:

  • PhoneBook: Nom, PhoneNo
  • Notes: Titre, contenu
  • Favoris: Nom, url

j'ai les modèles générés pour les 3 tables.

Maintenant, le ListBox doit afficher les champs Ph.Name, Title et Bo.Name. c'est-à-dire, il devrait être lié à eux. Mais ils proviennent de différents modèles. Je devrais également être en mesure d'effectuer une opération CRUD sur l'objet recherché. Comment ferais-je cela?

ENCORE APRÈS REPONSES :(

PS: ViewModels séparés sont créés pour chaque modèle qui sont utilisés pour leurs vues respectives pour traiter ces tables individuellement, mais ceci est une vue intégrée où l'utilisateur devrait pouvoir. recherche tout.

Veuillez aussi quelqu'un me suggérer un meilleur titre pour cette question :)

Répondre

0

Pourquoi ne pas définir une interface qui est mis en œuvre par vos trois modèles différents et que votre vue se lient à l'interface à la place? Vous pouvez également prendre en charge les opérations CRUD via la même interface avec chaque modèle implémentant (ou notifiant un contrôleur) si nécessaire.

+0

Mon ListView ne doit contenir qu'une seule colonne. Il devrait afficher tous les 3 champs fusionnés en un seul. Chaque fois que je recherche un numéro de téléphone, le nom de la personne doit être affiché dans la liste et chaque fois que je recherche un titre, le titre lui-même doit être affiché dans la seule colonne de ListView. J'espère que vous l'avez. – Amsakanna

+1

Dans ce cas, il semble que vous devriez avoir un seul modèle qui représente les trois ensembles de données distincts. Bien sûr, votre liaison devient un peu intéressante. Bien que l'idée d'interface ne fasse pas obstacle à ce que vous voulez accomplir. –

Questions connexes