First Code First находится в CTP и поэтому не имеет действующей лицензии.Если это проект, который будет реализован в ближайшие пару месяцев, то сначала принимается решение о модели.
Сказав это, классы Code First, использующие DataAnnotations, являются более чистыми, чем POCO Model First с классами собеседников, но самым важным в моем опыте является явное намерение.Пока ваш дизайн ясен и, что наиболее важно, согласован, любой из подходящих подходов подходит.
Для небольшого проекта (например, одного человека, как вы заявили), я бы сказал, что вы, вероятно, будете более продуктивны с ModelСначала и проектирование через EDMX.Это также будет более удобным для вас, если вы исходите из схемы первого фона.Однако есть несколько обручей, через которые вам нужно пройти, чтобы классы POCO работали хорошо, например, установить шаблон POCO T4, а затем изменить шаблон T4, созданный в вашем проекте, чтобы вытащить POCO в отдельную сборку.Вы не хотите их в сборке DAL, где они начнут.Затем вам остается решить, насколько вам комфортно с частичными классами для реализации DataAnnotations;по причинам, с которыми я не согласен, многие люди считают это плохим дизайном.
В проекте MVC вы столкнетесь с вездесущей проблемой СУХОЙ, используя DataAnnotations с любым подходом, когда решите использовать ViewModels.В этот момент вы внезапно поймете, что обширная аннотация вашей Модели для проверки полезна, только если вы счастливы отправлять эти классы прямо в представление.Если вы решите сохранить представления легкими и использовать ViewModels, вам придется повторить DataAnnotations в ViewModel, в противном случае у вас останутся ошибки проверки на уровне модели, но нет способа получить это в ModelState, кроме добавления вручную.Ни код, ни модель сначала не решают эту проблему, поэтому вам необходимо разработать соответствующий проект.Мы лично сделали микс и приняли уровень DRY.