Как создать отношения между объектами во время DataReader - PullRequest
0 голосов
/ 24 марта 2020

Я хочу создать отношения между моими domain объектами во время выполнения MySqlDataReader, но я не уверен, как это сделать, и какой способ лучше и проще. Один много, много ко многим et c ...

Проверьте мой код

Домен:

public class Partner
{
    public int PartnerID { get; set; }
    public string Name{ get; set; }
    public string PIB { get; set; }
    public string MaticniBr { get; set; }
    public string Telefon { get; set; }
    public string Email { get; set; }
    public string WebSite { get; set; }
    public int PartnerTypeID {get; set;}

    public PartnerType PartnerType { get; set; }   // Partner Type
}


public class PartnerType
{
    public int ID { get; set; }
    public string Name{ get; set; }

    ICollection<Partner> Partners { get; set; }
}

Моя Partner банка у меня есть partner type, а у моего Partner Type может быть много партнеров ...

На моем уровне доступа к данным я использую это для представления данных:

Данные

  public List<Partner> GetPartners()
    {
        List<Partner> partners = new List<Partner>();

        using (var con = new MySqlConnection(connStr))
        {
            con.Open();

            using (var cmd = new MySqlCommand("SELECT * FROM partner ORDER BY id DESC", con))
            {
                using (MySqlDataReader reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        Partner partner = new Partner()
                        {
                            PartnerID = Int32.Parse(reader["id"].ToString()),
                            Name= reader["name"].ToString(),
                            PIB = reader["pib"].ToString(),
                            MaticniBr = reader["maticni_br"].ToString(),
                            Telefon = reader["telefon"].ToString(),
                            Email = reader["email"].ToString(),
                            WebSite = reader["web_sajt"].ToString(),

                            /// HERE I NEED TO ADD RELATION  

                            PartnerType= "Comercial";  

                        };
                        partners.Add(partner);
                    }
                 }
            }
        }
        return partners.ToList();
    }

Не уверен, как установить связь здесь и после, чтобы иметь такой доступ:

partner.PartnerType = "comercial" или `partner.PartnerType.name =" comercial "

что-то вроде EF или Dapper.

...