Я видел, что много людей вводит их адрес электронной почты неправильно, и я также просмотрел пользовательские базы данных, полные недопустимого адреса электронной почты.
способ, которым я вижу его, у Вас есть две опции. Используйте второе поле, чтобы подтвердить вход или послать электронное письмо аутентификации/активации.
Оба - раздражения, таким образом, Вы добираетесь для выбора, который Вы думаете, будет раздражать Ваших пользователей меньше.
Большинство утверждало бы, что необходимость найти электронное письмо и нажать на ссылку является более раздражающей, но она избегает скопировать/вставить, плохое решает проблему, и она позволяет Вам делать, вещам нравится, удаляют или откатывают пользователей, если они не активируются, после говорят 48 часов.
Да. fluent nhibernate рассматривает это как отношения многих-многих. Я не знаю, как создать отношения, которые вам нужны. вы, вероятно, по крайней мере захотите создать участника:
public virtual Item Parent{ get; set; }
Правильный способ ссылки на себя
// Class
public class Item
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual Item Parent { get; private set; }
public virtual IList<Item> Children { get; set; }
public Item() {
Children = new List<Item>();
}
}
// Map
References(x => x.Parent).Column("ParentId");
HasMany(x => x.Children).Cascade.All().KeyColumn("ParentId");
// Add Item
session.Save(new Item { Description = "Electronics",
Children = {
new Item { Description = "PS2" },
new Item { Description = "XBox" }
}});
// Get Item
var items =
(from c in session.Linq<Item>()
where c.Parent == null
select c).ToList();