Вы эффективно пытаетесь выполнить работу ADO.net? Вам гораздо лучше вернуть POCO (простые старые объекты c #), которые вы можете эффективно сериализовать, чтобы отправить мыло, а затем вытащить их обратно с другой стороны. Возможно, вы могли бы дать нам больше информации в своем вопросе о том, что вы пытаетесь сделать.
DataRows и DataTables не изменились в .net 3.0. Если вы хотите использовать инфраструктуру сущностей, чтобы обойтись, вы столкнетесь с другими проблемами. Если это строки, взгляните на использование Linq и сериализацию, а затем передайте сущности строк в виде коллекции. Существуют способы восстановления сущностей в контексте данных на стороне клиента, чтобы ссылки были обратно связаны и т. Д.