2016-05-14 4 views
0

Хорошо, привет, я все-таки новичок в Asp.net Mvc, и мне нужна помощь в улучшении, в моем проекте, над которым я работаю, мне нужно зарегистрировать пользователя и в регистре, который пользователь должен выбрать несколько тегов, которые категория, связанная с предметом моего сайта, дело в том, что у меня есть база данных, которая выглядит как этотРеализовать базу данных тегов

Tag

public int TagId{get;set;} 
public string TagName{get;set;} 
public string TagColor{get;set;} 

TagUser

public int TagUserId{get;set;} 
public int UserId{get;set;} 

Я читал, что EF строит таблицы, когда существует взаимосвязь «многие-многие», она автоматически создает среднюю таблицу, поэтому в моем случае мне просто нужно иметь первую модель и мою модель пользователя? или я должен использовать 2 модели выше плюс модель пользователя, со вторым подходом я не знаю, как связать данные. Я могу определить TagUserId в качестве первичного ключа и UserId как foreignkey и связывать таблицы, но мне это нужно? или я могу сделать это с первого подхода, если кто-то может дать мне совет, который я очень ценю. :)

Ps: Извините за мой плохой английский

ответ

0

Вы можете оставить Tags свойство типа IList<Tag> в вашем User классе и Users свойство в вашем Tag класса типа IList<User>. Entity Framework создаст третью таблицу для хранения связи многих из множества между Tag и User.

public class Tag 
{ 
    public int Id {set;get;} 
    public string TagName {set;get;} 
    public virtual IList<User> Users { get; set; } 
} 
public class User 
{ 
    public int Id {set;get;} 
    public string UserName {set;get;} 
    public virtual IList<Tag> Tags { get; set; } 
} 
+0

У меня только 1 проблема, моя пользовательская таблица является таблицей пользователя по умолчанию, как я могу ее подделать, поэтому у меня есть теги для регистрации? –

+0

Найдите «расширенную таблицу пользователя Identity», и вы получите тонну образцов. – Shyju

Смежные вопросы