2016-01-12 4 views
1

Я использую брандмауэр Azure Mobile Services .NET с Xamarin.Forms, и у меня возникла проблема с использованием столбцов идентификаторов ID. В автономном сценарии я могу успешно добавить запись в БД, но столбец CustomerId, который является идентификатором, остается равным 0. После того, как он был в сети, когда я синхронизирую, значение устанавливается сервером SQL и заполняется на мобильном устройстве.Локальная идентификационная марка Azure Mobile Services не назначена, а Offline

Поскольку идентификатор требуется, так как мне также необходимо создать связанные данные в другой таблице, вопрос в том, как я могу получить/установить идентификатор для объекта перед его синхронизацией с сервером? Я не могу установить его вручную, поскольку он может столкнуться с другим клиентом. Я подаю иск в существующую базу данных SQL, поэтому предпочел бы не полностью менять схему, чтобы изменить идентификатор, чтобы использовать строки или guid.

public class Customer 
    { 
     [Key] 
     [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
     public int CustomerId { get; set; } 

     public string Name { get; set; } 

     .... 
    } 

    public async Task SaveCustomer(Customer item) { 
     await CustomerTable.InsertAsync (item); 
    } 
+0

Для этого потребуется какой-то пользовательский код, по крайней мере, какой-либо пост-пост, который заменит идентификатор заполнителя в вашей связанной таблице (либо столбец только на стороне клиента, либо ваши сущности имеют столбец идентификатора Azure и ваш обычный столбец идентификатора объекта. поддержка отношений и серверов, принадлежащих Ifs (требующая идентификационной мутации), в настоящее время не построена. – phillipv

ответ

1

Сценарий, который вы упоминаете, именно поэтому Azure Mobile Apps использует строки для идентификаторов. Если вы используете строку, вы можете создать идентификатор GUID для идентификатора и использовать это до синхронизации.

Единственный способ получить идентификатор, который создается базой данных, - это синхронизировать таблицу.

+1

Спасибо, я боялся столько же, и с тех пор, как публикация этого довольно смирилась с огромным рефактором Id для ее поддержки. сценарий «Использование существующей базы данных» на веб-сайте MSDN. – RichMercer

 Смежные вопросы

  • Нет связанных вопросов^_^