Мои данные не преобладают в моей базе данных sql azure, после входа в систему - PullRequest
0 голосов
/ 27 мая 2019

Я использую Azure Mobile App SDK, и у меня есть 4 таблицы Учетная запись, личная, Трудовая и Подписка. Я оставлю здесь код моих моделей:

public class Account : TableData
{
    [JsonProperty(PropertyName ="userid")]
    public string UserId { get; set; }
    [JsonProperty(PropertyName = "personalid")]
    public string PersonalId { get; set; }
    [JsonProperty(PropertyName = "subscriptionid")]
    public string SubscriptionId { get; set; }
    [JsonProperty(PropertyName = "subscriptionappleid")]
    public string SubscriptionAppleId { get; set; }
    [JsonProperty(PropertyName = "subscriptiongoogleid")]
    public string SubscriptionGoogleId { get; set; }
    [JsonProperty(PropertyName = "laborid")]
    public string LaborId { get; set; }

    public override bool Equals(object obj)
    {
        return Equals<Account>(obj, this);
    }

    public override int GetHashCode()
    {
        return Id.GetHashCode();
    }
}

public class Personal : TableData
{
    [Required]
    [StringLength(50)]
    [JsonProperty(PropertyName = "name")]
    public string Name { get; set; }
    [Required]
    [StringLength(50)]
    [JsonProperty(PropertyName = "dadlastname")]
    public string DadLastName { get; set; }
    [Required]
    [StringLength(50)]
    [JsonProperty(PropertyName = "momlastname")]
    public string MomLastName { get; set; }
    [Required]
    [StringLength(50)]
    [JsonProperty(PropertyName = "email")]
    public string Email { get; set; }
    [Required]
    [JsonProperty(PropertyName = "sex")]
    public Gender Sex { get; set; }
    [Required]
    [Column(TypeName = "datetime2")]
    [JsonProperty(PropertyName = "birthdate")]
    public DateTime? BirthDate { get; set; }

    public override bool Equals(object obj)
    {
        return Equals<Personal>(obj, this);
    }

    public override int GetHashCode()
    {
        return Id.GetHashCode();
    }
}

public class Subscription : TableData
{
    [Required]
    [JsonProperty(PropertyName = "subscriptiontype")]
    public SubscriptionType SubscriptionType { get; set; }
    [Required]
    [Column(TypeName = "datetime2")]
    [JsonProperty(PropertyName = "subscriptiondate")]
    public DateTime? SubscriptionDate { get; set; }
    [Required]
    [Column(TypeName = "datetime2")]
    [JsonProperty(PropertyName = "expirationdate")]
    public DateTime? ExpirationDate { get; set; }
    [Required]
    [JsonProperty(PropertyName = "standardsubscriptiontype")]
    public SubscriptionType StandardSubscriptionType { get; set; }
    [Required]
    [Column(TypeName = "datetime2")]
    [JsonProperty(PropertyName = "standardsubscriptiondate")]
    public DateTime? StandardSubscriptionDate { get; set; }
    [Required]
    [Column(TypeName = "datetime2")]
    [JsonProperty(PropertyName = "standardexpirationdate")]
    public DateTime? StandardExpirationDate { get; set; }

    public override bool Equals(object obj)
    {
        return Equals<Subscription>(obj, this);
    }

    public override int GetHashCode()
    {
        return Id.GetHashCode();
    }
}

теперь, как вы можете видеть, модель учетной записи имеет Foreing Keys для Личного, Трудового и Подписного. всякий раз, когда я изменяю личные, трудовые или надбавки, я обновляю свою таблицу, и я вижу в своем облаке, что информация была изменена, например.

в личной модели. Я изменяю дату своего рождения с 5 октября 1981 г. по 6 октября 1981 г., и она успешно обновляется, но если я закрываю свое приложение и через 30 или 20 минут я снова открываю приложение, как только Я вхожу в систему, используя метод входа в систему, который не имеет ничего общего с Sql Azure, информация о базе данных возвращается к предыдущим значениям, и мне нужно подождать минут 20 или 30, чтобы это произошло, я закрываю свое приложение и сразу же заново открываю его базу данных или запись не затрагивается.

Теперь это происходит только с таблицей, о которой я упоминал ранее. Если я сделаю редакцию для других таблиц, они не будут затронуты ситуацией, о которой я упоминал ранее.

Я что-то не так делаю ??? Этого раньше не было, я пытался отключить автономную поддержку для этих таблиц, думая, что это может быть проблемой с sqlLite, но проблема по-прежнему преобладает.

Я игнорирую причину, почему это происходит.

Надеюсь, вы поможете мне с некоторыми идеями, я понятия не имею об этом. Должен ли я избавиться от Foreing Keys ??? Должен ли я удалить всю запись и создать новую, переназначить новый PersonalId или LaborId для модели учетной записи ??? как обходной путь.

1 Ответ

0 голосов
/ 29 мая 2019

Firstable Я только что решил это. Я хочу извиниться, потому что это была МОЯ ОШИБКА, оказалось, что я жестко закодировал данные своей учетной записи в методе заполнения моего облака конфигурации, который запускается при каждом входе в систему, в Azure Mobile Apps SDK нет недостатков.

Я только что удалил данные, которые откатывают мою информацию, или, точнее, сказал, что обновил мою информацию. Это была трудная ошибка, потому что мой код был в порядке, это было поведение моего облака, которое было неправильным из-за жестко закодированной информации учетной записи, потому что у меня была проблема несколько месяцев назад, когда мне нужно было жестко закодировать информацию своей учетной записи в моем облаке.

В любом случае, я думаю, что эта проблема может быть закрыта сейчас !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...