Я хочу создать отношения между моими 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
.