Несмотря на то, что в вашем домене есть один-к-одному, ваша реляционная модель, вероятно, один-ко-многим. Я сомневаюсь, что вы используете один и тот же PK в обеих таблицах, скорее всего, у вас есть FK в DocumentConfiguration для DocumentType. В этом случае вы бы отобразили это как таковое, потому что то, что вы отображаете, является вашей реляционной моделью. Таким образом, для DocumentType это будет HasOne.Inverse.AllDeleteOrphan ... а для DocumentConfiguration это будет "References".
Теперь ваш домен должен предоставить его так, как вы его описываете.
public class DocumentConfiguration
{
public DocumentConfiguration()
{
_internalDocumentConfigurations = new List<DocumentConfiguration>(1);
}
private IList<DocumentConfiguration> _internalDocumentConfigurations
public virtual DocumentType Type
{
get
{
return _internalDocumentConfigurations.FirstOrDefault();
}
/**/WARNING - no setter here**
}
public virtual SetDocumentConfiguration(DocumentConfiguration config)
{
//add your asserts here
Add(config);
}
private virtual Add (DocumentConfiguration config)
{
//add your asserts here
_internalDocumentConfigurations.Add(config)
config.DocumentType = this;
}
public virtual Remove (DocumentConfiguration config)
{
_internalDocumentConfigurations.Remove(config)
config.DocumentType = null;
}
}
public class DocumentConfiguration {
public virtual int Id { get; set; }
/* some other properties for configuration */
public virtual DocumentType Type { get; protected internal set; }