Идентификатор ядра asp.net RoleId RoleTable как внешний ключ - PullRequest
0 голосов
/ 09 октября 2018

Это структура таблицы ролей идентификатора ядра asp.net.

    AspNetRoles
 -------------------
-id (PrimaryKey)
-ConcurrencyStamp
-Name
-NormalizedName

Я хочу создать новую таблицу, включающую в себя id этой таблицы ролей в качестве внешнего ключа.
Вот мой совет для новоготаблица

  public class NewClass
{
    public string Name { get; set; }

    public int Type { get; set; }

    //
}

Как я могу ссылаться на идентификатор AspNetRoles как на внешний ключ с отношением многие-к-одному ??

Ответы [ 3 ]

0 голосов
/ 09 октября 2018

Я немного сбит с толку, какая из сторон - ваша, а какая - одна.Если вы используете платформу сущностей, просто попробуйте этот пример. Платформа сущностей достаточно интеллектуальна, чтобы установить между ними отношение один ко многим

, если у вас много сторон - NewClass, тогда попробуйте использовать this.OR, если вам нужнонесколько ролей в вашем NewClass

    public class AspNetRole
    {
      public int RoleId { get; set; }    
      public string Name { get; set; }     
    }



   public class NewClass
   {
    ..................
    ................

    public ICollection<AspNetRole> AspNetRoles{ get; set; }
   }

Если у вас много сторон - роли, попробуйте этот

    public class AspNetRole
   {
      public int RoleId { get; set; }    
      public string Name { get; set; }  
      public ICollection<NewClass> NewClasses{ get; set; }   
    }



  public class NewClass
  {
   ................

    public int AspNetRolesId{ get; set; }
    public AspNetRole AspNetRoles{ get; set; }
  }
0 голосов
/ 10 октября 2018

Просто вы можете сделать это:

OneToZore:

Для One до Zore от AspNetRoles как:

Public class AspNetRole
{
    //Other property
    public int NewClassId { get; set; }
}

public class NewClass
{
    //Other property
    public AspNetRole AspNetRole { get; set; }
}

От одного до Zore от NewClass:

Public class AspNetRole
{
    //Other property
    public NewClass NewClass { get; set; }
}

public class NewClass
{
    //Other property
    public int AspNetRoleId { get; set; }
}

OneToMany:

Для One до Many от AspNetRole:

Public class AspNetRole
{
    //Other property
    public int NewClassId { get; set; }
}

public class NewClass
{
    //Other property
    public virtual ICollection<AspNetRole> AspNetRoles { get; set; }
}

Для One до Many от NewClass:

Public class AspNetRole
{
    //Other property
    public virtual ICollection<NewClass> NewClasses { get; set; }
}

public class NewClass
{
    //Other property
    public int AspNetRoleId { get; set; }
}

ManyToMany:

В этом выпуске вы не можете создать это напрямую, выдолжны найти таблицу, которая имеет отношение к этой таблице.Например, User таблица имеет отношение (один ко многим) с AspNetRole, например:

Public class AspNetRole
{
    //Other property
    public int UserId { get; set; }
}

public class User
{
    //Other property
    public virtual ICollection<AspNetRole> AspNetRoles { get; set; }
}

Теперь, если у вас есть отношение как OneToMany с User таблицей, после этого у вас есть отношениекак ManyToMany с AspNetRole вроде:

Public class AspNetRole
{
    //Other property
    public int UserId { get; set; }
}

public class User
{
    //Other property
    public virtual ICollection<AspNetRole> AspNetRoles { get; set; }
    public virtual ICollection<NewClass> NewClasses { get; set; }
}

public class NewClass
{
    //Other property
    public int AspNetRoleId { get; set; }
}
0 голосов
/ 09 октября 2018

Должно быть что-то вроде этого

public class AspNetRoles
{
    public int RoleId { get; set; }
    public string ConcurrencyStamp { get; set; }
    public string Name { get; set; }
    public string NormalizedName{ get; set; }

    public List<NewClass> NewClasses{ get; set; }
}

public class NewClass
{
   public string Name { get; set; }

   public int Type { get; set; }

   public int RoleId { get; set; }
   public AspNetRoles AspNetRole{ get; set; }
}
...