Eliminare utilizzando 2 tavoli si uniscono e wheres
-
22-09-2019 - |
Domanda
Ho 2 tabelle,
POST (idpost, user, text)
COMMENT (idcomment, idpost, text)
Voglio cancellare tutti i commenti con post che hanno un utente come "UserTest",
delete from COMMENT c join POST p on c.idpost = p.idpost
where p.user like 'usertest'
Come faccio a fare questo in subsonico 3?
Ho provato qualcosa di simile, ma, fuori rotta, non funziona,
COMMENT.Delete(x => x.POST.where(y => y.user == "usertest"));
Soluzione
Io non sono un programmatore subsonico, ma c'è un altro articolo in StackOverflow sull'eliminazione di tutti i record in una tabella:
Come eliminare tutti i record in un tabella utilizzando SubSonic 3
Sembrava che questo potrebbe essere un buon punto di partenza, ma questa è solo una supposizione.
Altri suggerimenti
Si dovrebbe essere in grado di effettuare le seguenti operazioni:
IQueryable<Person> query = from comments in Comment.All()
join posts in Post.All()
on posts.idpost equals comment.idpost
select comments;
Comment.GetRepo().Delete(query.ToList());
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow