представьте себе простое POCO для EF 4.1 Codefirst:
public class Product
{
// Native properties
[Key]
public Guid ID { get; set; }
// Navigation properties
public virtual Category Category { get; set; }
public virtual ICollection<Customer> Customers { get; set; }
public Product()
{
this.ID = Guid.NewGuid();
// Do I have to instantiate navigation properties in the constructor or not???
this.Category = new Category();
this.Customers = new List<Customer>();
}
}
Что я до сих пор не могу понять, так это то, стоит ли мне создавать сложные навигационные свойства в конструкторе POCO или нет?
Похоже, что весь мой текущий код работает, если я не создаю экземпляр, но я обеспокоен тем, что мой код может вызвать проблемы в будущем.
Существуют ли какие-либо правила, лучшие практики или побочные эффекты?
Спасибо за ваши идеи и советы!