Нулевые значения при чтении строк из таблицы azure - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь получить все строки из таблицы хранения azure, но когда я отображаю их, все значения, кроме PartitionKey и RowKey, равны нулю или 0. Я что-то пропустил или я делаю что-то неправильно, вызывая все значения, которые не читаются правильно?

Это код, который я использовал для получения всех данных.

 List<Employe> employeList = new List<Employe>();
 TableQuery<Employe> query = new TableQuery<Employe>();
 employeList = table.ExecuteQuery(query).ToList();

Это модель.

class Employe:TableEntity
    {
        public string prenume { get; set; }
        public string functie  { get; set; }
        public int salar_baza { get; set; }
        public int retineri { get; set; }
        public int spor { get; set; }
        public int total_brut { get; set; }
        public int brut_impozabil { get; set; }
        public int impozit { get; set; }
        public int cas { get; set; }
        public int cass { get; set; }
        public int virat_card { get; set; }
        public  int premii_brute { get; set; }

        public Employe()
        {
        }
        public Employe(string nr_crt, string name,string prename,string function, int salarBaza,int retinere,int sporuri,int premiu_burt)
        {
            PartitionKey = nr_crt;
            RowKey = name;
            this.prenume = prename;
            this.functie = function;
            this.salar_baza = salarBaza;
            this.retineri = retinere;
            this.spor = sporuri;
            this.premii_brute = premiu_burt;

            this.total_brut = salarBaza+(salarBaza*(sporuri/100))+premiu_burt;
            this.cas = (25/100)*total_brut;
            this.cass = (10/100)*total_brut;
            this.brut_impozabil = total_brut-cas-cass;
            this.impozit = (10/100)*brut_impozabil;
            this.virat_card =total_brut-impozit-cas-cass-retinere;
        }
    }

1 Ответ

1 голос
/ 19 марта 2020

Я не проверял это сам, но я уверен, что это применимо:

При использовании TableQuery и его встроенного десериализатора он использует конструктор без параметров public Employe() для создания нового, пустой объект Затем он пытается найти подходящие свойства, но их имя. Но поскольку все ваши свойства имеют имена, которые отличаются от значений в хранилище таблиц, ни одно из них не установлено.

Так что либо переименуйте ваши свойства в соответствии с вашим хранилищем (например, переименуйте public string prenume в public string prename) или работайте с аннотациями к вашим свойствам, например this .

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