Атрибуты из промежуточного класса на многие соединения - PullRequest
0 голосов
/ 28 мая 2019

У меня есть три класса: класс ort, ware и ortware, который является промежуточным звеном в моих многих отношениях. У меня есть в ortware значение, называемое anzahl, которое содержит количество изделий на отношение. Как я могу получить это значение в Xamarin sqlite-net-pcl с sqlitenetExtensions? Я только нахожу решения, чтобы получить Ort или изделия, но не промежуточный класс. В конце концов я хочу показать список с названием изделия и значением anzahl.

Это приложение Xamarin Forms, которое имеет расширения для sqlite-net-pcl и SQLiteNetExtensions. Я попытался сделать собственный запрос с объединениями, но получил только объект ort.

[Table("Ort")]
    public class Ort
    {
        public Ort()
        {

        }
        public Ort(string name)
        {
            this.Name = name;

        }

        [PrimaryKey, AutoIncrement]
        public int ID { get; set; }
        public string Name { get; set; }
        public string Notes { get; set; }

        [ManyToMany(typeof(OrtWare))]
        public ObservableCollection<Ware> Waren { get; set; }
    }

[Table("Ware")]
    public class Ware
    {
        public Ware()
        {

        }
        [PrimaryKey, AutoIncrement]
        public int ID { get; set; }

        [ManyToMany(typeof(OrtWare))]
        public ObservableCollection<Ort> orte { get; set; }

        public string Name { get; set; }
        public string Barcode { get; set; }

    }

[Table("OrtWare")]
    public class OrtWare
    {
        [PrimaryKey, AutoIncrement]
        public int ID { get; set; }

        [ForeignKey(typeof(Ort))] public int OrtId { get; set; }
        [ForeignKey(typeof(Ware))] public int WareId { get; set; }

        public int Anzahl { get; set; }
        public string StrAnzahl
        {
            get
            {
                if (Anzahl == 0)
                    return "";
                else
                    return Anzahl.ToString();
            }

            set
            {
                try
                {
                    Anzahl = int.Parse(value);
                }
                catch
                {
                    Anzahl = 0;
                }
            }
        }
    }
...