Мои классы домена, которые имеют сопоставления «один-ко-многим», обычно принимают следующую форму (непроверенный код):
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 _orders = new List();
}
Примеры только кода EF4 Я видел, как открывать общедоступную коллекцию ICollection при работе с отношениями «один ко многим».
Есть ли способ сохранить и восстановить мои коллекции, открыв их? В противном случае может показаться, что мои объекты домена будут разработаны с учетом требований ORM, что, похоже, противоречит духу наших усилий. Предоставление ICollection (с его методами Add и т. Д.) Не кажется особенно чистым и не будет моим подходом по умолчанию.
Обновление
Нашел этот пост , который предполагает, что это не так. возможно в мае. Конечно, плакат Microsoft действительно сказал, что они были " $ template = $ this -> _ case. "....
У меня проблема при зацикливании с использованием цикла foreach () и внутри этого цикла с использованием ob_start () и ob_get_clean ().
Вот моя функция :
protected function renderEmail() {
$template = $this->_case.".php";
if(is_file($this->_dir.DS.$template)) {
ob_start();
if(!empty($this->_records)) {
foreach($this->_records as $key => $value) {
${$key} = $value;
}
}
require_once($this->_dir.DS.$template);
return ob_get_clean();
} else {
$this->_errors[] = "Email template not found";
return false;
} }
Эта функция в основном генерирует содержимое электронного письма, а затем возвращает его.
Моя проблема заключается в том, что я перебираю несколько адресов электронной почты в цикле - для отправки одного и того же содержимого электронной почты - только первый из них возвращает содержимое - следующие пустые - есть идеи, почему?