Witam.
Piszę aplikację w c# wykorzystując entity framework i mvc. Do tego używam koncepcji DDD. I tutaj jest moje pytanie. Mam klasę Bulding, która jest korzeniem agregatu oraz address, który jest value object, czyli nie posiada ID. Przez to entity framework nie wie jak ma to traktować. Co zrobić w takim wypadku, aby została dobrze zbudowana baza danych? Czytałam, że są dwie opcje i, że można zrobić z tego osobną encję w bazie danych, a w aplikacji ukryć to id jakoś, ale nie bardzo wiem jak to zrobić.
moje klasy:
public class Building : EntityDbManaged
{
public String DepartmentName { get; set; }
public AddressData Address { get; set; }
public virtual ICollection<Floor> Floors { get; set; }
}
public class AddressData : ValueObject<AddressData>
{
private readonly String _streetWithNumber;
private readonly String _city;
private readonly String _region;
private readonly String _country;
private readonly String _postalCode;
public AddressData(String street, String city, String region, String country, String postalCode)
{
_streetWithNumber = street;
_city = city;
_region = region;
_country = country;
_postalCode = postalCode;
}
no i w kontekście mam na razie:
public DbSet<Building> Buildings { get; set; }