I'd go with Entity Framework in almost any case. Biggest downside is there is little way to tweak/improve your model once you go live without blowing the thing up and regenerating. That and EF can do anything you could do with l2s and more while having better tooling and such.