В Entity Framework ваш класс DataContext является репозиторием, и тот, над которым у вас есть большой контроль над EF 4.1.Я ни в коем случае не хочу показаться легкомысленным, потому что это действительно хороший вопрос с множеством плохих ответов.
Когда вы используете EF, вы уже используете шаблон репозитория.Воспользуйтесь этим и напишите меньше кода.Не поддавайтесь искушению чрезмерного архитектора.
1) Это зависит от того, как ваша поведенческая модель (ваши объекты) преобразуется в вашу модель данных (вашу базу данных). На самом деле нет никаких предписаний.
2) EF уже делает это, если под атрибутами вы подразумеваете свойства.
3) Вы уже делаете.: -)
Стивен