• Трехслойная архитектура для ADO.NET, проблемы при возвращении DBNull и мелочи

    Ну раз все же "переписать" да еще с одного языка на другой - то тут однозначно не ADO.NET. К тому же проще EF для начала ничего не будет. Для примера, вот то, что написано вверху, для Entity можно заменить следующим: UserVO user = new MyDbContext(connectionString).Users.Where(x=>x.LastName == name).FirstOrDefault(); или выбрать "однофамильцев": IEnumerable<UserVO> users = new MyDbContext(connectionString).Users.Where(x=>x.LastName == name); Не правда ли, гораздо лаконичнее и понятнее. Да и поможет избежать необработанного исключения в Int32.Parse(dr["t01_id"].ToString()), если там dr["t01_id"] будет null. Если избрать подход Code First, то есть инструменты генерации модели по БД, которые сами создадут все модели и поля в них нужного типа. Если сильно нужны чистые запросы, то есть возможность выполнять SqlToEntites, когда на входе чистый запрос, на выходе сущность по запросу.