Для приложений небольшого размера в .NET было бы лучше основывать свою архитектуру на DataSets и DataTables. У вас есть прямая поддержка привязки для пользовательского интерфейса для создания отчетов, и она прекрасно масштабируется до тех пор, пока вы не столкнетесь с некоторыми более серьезными проблемами в домене. Посмотрите книгу Фаулера «Шаблоны корпоративной архитектуры приложений», в частности шаблоны «Табличный модуль» и «Шлюз табличных данных».
Для чего-то более сложного всегда стоит иметь хорошую модель предметной области и соответствующие слои вокруг нее (ORM mapper, Remoting и Service layer и т. Д.). Для этих шаблонов, проверьте ранее упомянутую книгу, предпочтительно с Доменным Управляемым Проектом Эриком Эвансом