Могу ли я скрыть свои поля ICollection <T>, когда у меня есть отображение «один ко многим» только в коде EF4?
Классы моего домена, которые имеют однозначные сопоставления, обычно принимают следующую форму (непроверенный код):
public Customer Customer
{
// Public methods.
public Order AddOrder(Order order)
{
_orders.Add(order);
}
public Order GetOrder(long id)
{
return _orders.Where(x => x.Id).Single();
}
// etc.
// Private fields.
private ICollection<Order> _orders = new List<Order>();
}
Образцы только для кода EF4 Я видел публичную ICollection, когда имел дело с отношениями один-ко-многим.
Есть ли способ сохранить и восстановить мои коллекции, разоблачая их? В противном случае может показаться, что мои доменные объекты будут разработаны в соответствии с требованиями ORM, что, похоже, противоречит духу усилий. Представление ICollection (с его методами Add и т. Д.) Не выглядит особенно чистым и не будет моим подходом по умолчанию.
Обновить
Найденныйэта почта это говорит о том, что это было невозможно в мае. Конечно, постер Microsoft действительно сказал, что они «решительно рассматривают возможность его реализации» (я надеюсь, что это так), и у нас уже полгода, так что, может быть, был какой-то прогресс?