Почему бы просто не поместить изображения в общую папку в системе контроля версий, чтобы обе сборки могли получить к ней доступ? Это обычный способ сделать это. Использование S3 (или любого другого сервера) будет работать, если вы хотите загрузить его во время выполнения, но, поскольку вы попытались включить его в систему контроля версий, кажется, что вы хотите, чтобы он был частью сборки.
Что касается пользовательского интерфейса, Android и iOS имеют совершенно разные пользовательские интерфейсы и способы работы с ним. На самом деле, если вы не хотите использовать HTML-приложение, вы собираетесь написать два разных интерфейса. Пользовательские интерфейсы являются наименее доступной частью мобильного приложения. По крайней мере, для бизнес-логики у вас есть несколько вариантов (в худшем случае вы всегда можете использовать C, который работает на обоих).
Merge принимает DataTable, Load требует IDataReader - поэтому в зависимости от того, к чему ваш уровень данных дает вам доступ, используйте требуемый метод. Я понимаю, что Load будет внутренне вызывать Merge, но не уверен на 100% в этом.
Если у вас есть две DataTables, используйте Merge.
Вы можете позволить своему DataAdapter
выполнять эту работу. DataAdapter.Fill (DataTable)
добавит ваши новые строки к любым существующим строкам в DataTable
.