Первый вопрос, который я хотел бы задать, - почему вы застряли на использовании EF в качестве ORM или даже настаивали на ORM вообще? Я бы выбрал инструменты, подходящие для данной работы, особенно учитывая ограничения уровня данных.
Классы Buddy были концепцией, изобретенной в тот день, когда у основных .NET ORM не было опции «сначала код», поскольку экземпляры класса, обремененные ORM, действительно плохо себя ведут при таких вещах, как привязка модели. Не берите в голову, что Вы не могли украсить их DataAnnotations
, используемым, чтобы указать, что поля были обязательны для заполнения. Как правило, техническим требованием является использование атрибутов [MetadataType]
для привязки ваших друзей к вашим моделям и, возможно, что-то вроде AutoMapper для отображения данных туда и сюда.
Все это говорит о том, что как парень, у которого есть несколько приложений с множеством приятелей и множеством автоматических действий, вы можете подумать иначе - это просто кошмар обслуживания. Я живу этим.