[Tex/LaTex] Changing ToC subsection entry font in scrartcl

fontsfontspeckoma-scriptoldstylenumstable of contents

I have changed the default serif font of my document to use old-style numerals (I think they look quite nice). However, in the serif entries of the subsections (section entries are in a sans-serif font) in the table of contents, the old-style numerals are quite strange as section and page numbers. I would like to change them to the "normal" numerals. I can set the section entry font with \setkomafont{sectionentry} and \setkomafont{sectionentrypagenumber}, but there is no such facility for other entries, and setting the font in the block around \tableofcontents doesn't help either.

How could I achive the effect I desire?

EDIT

Here is a MWE.

\documentclass{scrartcl}

\usepackage{fontspec}
\setmainfont[Numbers=OldStyle,Mapping=tex-text]{Linux Libertine}
\setsansfont[Mapping=tex-text]{Linux Biolinum}
\newfontfamily\NoOldStyleNumsSerif[Mapping=tex-text]{Linux Libertine}

\begin{document}

{\NoOldStyleNumsSerif \tableofcontents}

\section{foo}

\subsection{bar}

Some text 0123456789

\end{document}

Notice that the page number is still rendered with old-style numerals:

Example rendering

Best Answer

Disclaimer: I don't use fontspec, so there may be more elegant ways to do this.

\documentclass{scrartcl}

\usepackage{fontspec}
\setmainfont[Numbers=OldStyle]{Cambria}
\setsansfont{Calibri}
\newfontfamily\tocmainfont{Cambria}

\usepackage{tocloft}
\renewcommand*{\cftsecfont}{\sffamily\bfseries}
\renewcommand*{\cftsecpagefont}{\sffamily\bfseries}
\renewcommand*{\cftsubsecfont}{\tocmainfont}
\renewcommand*{\cftsubsecpagefont}{\tocmainfont}

\begin{document}

\tableofcontents

\section{foo}

\subsection{bar}

Some text 0123456789

\end{document}

enter image description here