Entity framework can handle private members. You can give the property a private setter:
private ICollection<Remark> _remarks;
public virtual ICollection<Remark> Remarks
{
get { return _remarks ?? (_remarks = new HashSet<Remark>()); }
private set { _remarks = value; }
}
You can even omit the setter altogether.