В чем разница между LINQ to SQL и Entity Framework и когда, что лучше использовать?
Когда-то потратил очень много времени на поиск того что же лучше и чем они вообще отличаются.
Поищите в интернете, там всё  по полочкам разложено.
Но если коротко: Используйте Entity Framework.  LINQ to SQL уже давно устарел и проект фактически закрыт. EF же развивается, хоть и с черепашей скоростью
Entity Framework - это ORM, т.е. взаимодейтсвие с бд ведется через объекты.
LINQ TO SQL - механизм, для извлечения данных из бд