Я создаю приложение ASP.Net MVC 5. На моем сайте существует 3 разных типа пользователей.
- Администратор
- Обычные пользователи
- Рестораны
Каждый из этих пользователей имеет свои возможности и права доступа. То есть вид для каждого из них должен быть разным.
Я создал модели как для обычного ресторана, так и для ресторана. Мне было интересно, как я могу изменить существующую структуру для поддержки этой функциональности.
public class User : IUser
{
public User()
: this(String.Empty)
{
}
public User(string userName)
{
UserName = userName;
Id = Guid.NewGuid().ToString();
}
[Key]
public string Id { get; set; }
[Required]
public string UserName { get; set; }
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
public string Phone { get; set; }
public string MobilePhone { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
public virtual IList<UserAddress> Addresses { get; set; }
}
public class Restaurant
{
[Key]
public int ID { get; set; }
[Required]
public string Name { get; set; }
public virtual IList<RestaurantAddress> Addresses { get; set; }
public virtual IList<RestaurantFood> Menu { get; set; }
public virtual IList<Review> Reviews { get; set; }
[DataType(DataType.Url)]
public string Website { get; set; }
[DataType(DataType.PhoneNumber)]
public string Phone { get; set; }
[DataType(DataType.PhoneNumber)]
public string Fax { get; set; }
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
public int Seats { get; set; }
public double AverageRating { get; set; }
public double AveragePrice { get; set; }
}
User
? Должен ли я добавить внешний ключ в модельUser
? Я хочу интегрировать дополнительную информацию в модель. - person Alireza Noori   schedule 17.08.2013