Я использую архитектуру Sharp и имею ряд ситуаций, в которых объекты-ценности используются в сущности.Вот очевидный простой пример:
public class Person : Entity
{
protected Person(){}
public Person(string personName)
{
this.PersonName = personName;
}
public virtual string PersonName { get; protected set;}
public virtual StreetAddress MailingAddress { get; set; }
}
public class StreetAddress : ValueObject
{
protected StreetAddress(){}
public StreetAddress(string address1, string address2, string city, string state, string postalCode, string country )
{
this.Address1 = address1;
this.Address2 = address2;
this.City = city;
this.State = state;
this.PostalCode = postalCode;
this.Country = country;
}
public virtual string Address1 { get; protected set; }
public virtual string Address2 { get; protected set; }
public virtual string City { get; protected set; }
public virtual string State { get; protected set; }
public virtual string PostalCode { get; protected set; }
public virtual string Country { get; protected set; }
}
Это, конечно, выдает:
An association from the table Person refers to an unmapped class: Project.Domain.StreetAddress
, потому что AutoPersistenceModelGenerator включает только классы с типом IEntityWithTypedId <>.Непонятно, как Sharp Architecture ожидает реализации этого общего условия.Это должно быть обработано с переопределением bazillion?