When using non-TeX fonts in LuaTeX I can produce en-dashes in the usual way by typing two dashes together --:
\documentclass{article}
\usepackage{fontspec}%use luatex
\setmainfont{Cambria}
\begin{document}
Hello -dashes- --en dashes-- ---em dashed---
\end{document}

Is there a workaround?
For comparison, here it is the result using the default font:

And in case this related: I have a similar problem with `` and '' to type double quotation marks with Cambria.
\setmainfont[Ligatures=TeX]{Cambria}– egreg Jun 06 '13 at 21:48Ligatures=TeXsolves the `` '' problem, in additionRenderer=Basicsolves the problem with en-dash, as in this answer http://tex.stackexchange.com/a/20689/1871. In summary this line solves both original problems\setmainfont[Renderer=Basic,Ligatures=TeX]{Cambria}– alfC Jun 06 '13 at 22:19