2010-09-20 3 views
1

Pour une application utilisée pour la gestion de booktitles et autres, j'utilise CoolStorage comme ORM.Recherche de relations many-to-many avec Vici CoolStorage

La base de données possède une table nommée 'titles'. Chaque titre peut avoir n auteurs, stockés dans la table 'authors'. Les deux tables sont connectées via le linktable 'titles_authors', ce qui est pur.

Lorsque je tente de filtrer les titres sur les auteurs, je reçois une exception:

Impossible de jeter l'objet de type 'QueryExpression' taper 'System.String'

Est-ce que quelqu'un sait comment filtrer les titres par auteur?

Répondre

1

configurer cela dans votre titre Classe:

[ManyToMany("titles_authors", Pure = true, ForeignLinkKey = "AuthorId", LocalLinkKey = "TitleId")] 
public abstract CSList<Author> Authors{ get; set; } 

Et vice versa dans la classe ... Auteurs

Ensuite, vous pouvez accéder par:

CSList titlesByAuthor = Title.List ("Authour.Name =" Bob Thorn ");

+0

Merci pour votre réponse! J'ai fait ceci: [ManyToMany (" titles_authors ", ForeignKey =" id ", ForeignLinkKey = "author_id", LocalKey = "id", LocalLinkKey = "titre_id", Pure = true), Prefetch] public abstract CSList Auteurs {get; ensemble; } Mais lorsque je récupère une liste de titres avec un filtre sur l'auteur, aucun titre n'est renvoyé. Y a-t-il quelque chose que je fais de mal? Je ne reçois aucune erreur. Si vous avez besoin de plus d'informations, s'il vous plaît dites-moi. Merci d'avance –

+0

Désolé pour le long délai. Vous avez probablement résolu cela. Je n'ai pas remarqué cette réponse. Vous avez besoin de plus d'aide? – bobmoff