Asp.Net MVC 5 中具有身份表和自定义表的多对多关系

2023-12-09

我正在尝试在 Asp.Net Identity 生成的表中的用户与我自己的表之间建立关系。该关系必须是多对多,因为许多用户可以处理同一个任务(这是我的表),并且同一时间一个用户可以处理多个任务。

public class Task
{      
    public int ID { get; set; }
    public string Name { get; set; }

    public string UserID { get; set; }

    public virtual ICollection<ApplicationUser> Users { get; set; }
}

public class ApplicationUser : IdentityUser
{
    public int TaskID { get; set; }
    public virtual ICollection<Task> Tasks{ get; set; }

    // rest of the code
}

我尝试这种方式,但在迁移(或运行时)期间出现错误

"One or more validation errors were detected during model generation:" enter image description here

请帮我解决这个问题并归档我需要的东西。


试试这样:

  1. public class Projects
    {
        public Projects()
        {
            ApplicationUser = new HashSet<ApplicationUser>();
        }
        public int Id { get; set; }
        public string Name { get; set; }
        public virtual ICollection<ApplicationUser> ApplicationUser { get; set;     }
    }
    
  2. 应用程序用户



    public class ApplicationUser : IdentityUser
    {
        public ApplicationUser()
        {
            Projects = new HashSet<Projects>();
        }
        public async Task GenerateUserIdentityAsync(UserManager manager)
        {
            // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
            var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
            // Add custom user claims here
            return userIdentity;
        }        
        public virtual ICollection <Projects > Projects { get; set; }
    }

  1. 应用场景:


    public class ApplicationDbContext : IdentityDbContext
    {
        public ApplicationDbContext()
            : base("DefaultConnection", throwIfV1Schema: false)
        {
        }
        public virtual DbSet<Projects> Projects { get; set; }

        public static ApplicationDbContext Create()
        {
            return new ApplicationDbContext();
        }
    }

现在,当我运行这个 Mvc 应用程序并注册时,我得到的数据库表如下所示:

From MSSQL

和正确的架构:

enter image description here

需要质疑的事情很多,从我的角度来看,重要的是确定你是否: - 您可以/应该混合应用程序上下文和模型上下文吗?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Asp.Net MVC 5 中具有身份表和自定义表的多对多关系 的相关文章

随机推荐

  • 流体宽度元素的等高行

    我用过克里斯 科伊尔斯行中的等高块之前多次使用过 jQuery 脚本 而且效果总是很好 话虽这么说 我总是开发针对特定分辨率构建的网站 这次我正在开发一个响应式网站 主容器具有流体宽度 因此 我遇到了问题 但找不到解决问题的方法 克里斯在他
  • As.vector 不会将 data.frame 子集转换为向量

    下面我提供了我一直在研究的一些代码片段 我已经成功地将字符串作为表格读取 我的表中存在一些子集 我希望在其上使用中值 函数 根据我所做的研究和我自己的经验 median 没有为 data frame 或 data frame 的子集定义行为
  • C# 的鼠标钩子

    我正在尝试模拟 硬件 鼠标点击 因为某些软件似乎会阻止来自 PostMessage 的输入 我知道有 SendInput 但这不是一个选项 因为我也需要它在后台窗口中兼容 解决方案似乎是一个低级鼠标钩子 但我四处搜索 除了记录器之外找不到任
  • 满足特定要求的密码正则表达式

    我要编写一个正则表达式来满足以下要求 至少一个字符 至少一位数字 长度必须为 8 至少一个特殊字符 可以是任意特殊字符 前三个很简单 但找不到一种方法来限制至少特殊字符 任何可能的特殊字符 例如 gt etc 您可以通过组合前瞻来解决这些问
  • JavaScript 的客户端 DOM 打开重定向

    我在扫描以下代码时遇到客户端 DOM 打开重定向安全问题 问题出现在我初始化变量 myPath 和 myHost 的位置 我无法理解它如何受到网络钓鱼攻击以及如何修复它 有人可以帮忙吗 var query this value var my
  • Symfony Doctrine 找不到要加载的装置

    我从 Symfony 3 4 开始 但负载夹具有问题 当我执行时php bin console doctrine fixtures load然后我收到消息 In LoadDataFixturesDoctrineCommand php lin
  • PHP PDO 潜在的逻辑错误

    我是 PHP 新手 想知道为什么这段代码不向数据库插入任何内容 返回 0 我确信这一定是一个逻辑错误 因为我没有收到任何错误消息 class DbConnection protected db conn public db host loc
  • C# 线程问题

    我正在做的是从先前的按钮单击动态创建的列表视图 然后 ti 启动一个后台工作程序 其中应清除列表视图并每 30 秒用新信息填充 iistview 我不断得到 跨线程操作无效 从创建它的线程以外的线程访问控制 listView 2 priva
  • Numpy 广播

    下面的代码给出了 a 0 11 中的元素在数组 c 的第一行中出现了多少次 a c 0 我如何调整此代码 以便它对 c 中的所有行 而不仅仅是 c 0 执行相同的操作 本质上是一个for循环 import numpy as np c np
  • 通过测试 numpy 数组中的每个元素是否在 2 个数字之间创建布尔数组

    我有一个 numpy 数字数组 我想创建一个具有相同大小和维度的布尔数组 用于说明该元素是否位于两个数字之间 例如 a np array 1 2 3 4 5 6 7 8 9 我知道如果我写 print a gt 3 我得到一个数组 其中前三
  • AVAudioPlayer 不播放任何声音

    我正在开发一个 iOS 应用程序 需要使用AVFoundation框架 Xcode 4 中的工作区结构包含两个项目 Workspace 应用程序本身 主要项目 实用程序库 构建实用程序库后 会生成一个静态库 该静态库在主应用程序中用作框架
  • Numpy:最大值为 NaN

    我关于Python的问题真的很微不足道 我必须修改什么函数max 为任何编译器返回真实值 import numpy as np a np array 1 0 1 np nan The maximal value is 1 It is not
  • Excel VBA 中的多范围相交

    为什么这不起作用 我试图让 Excel 检查 B 列和 D 列中的任何更改 如果 B 列已更改 然后执行一些操作等 Private Sub Worksheet Change ByVal Target As Range Dim lc As L
  • 我可以使用 PHP 将 URL 变量传递给 IFrame 吗?

    我以前没有太多 或根本 使用过 PHP 我有以下代码 我认为应该可以采用 URL 变量并将其传递给 Iframe url 我的问题是 当我点击该页面时 它是打开的 而不是 http sitename com whats on ID 2 it
  • Build.scala 不是在运行中创建的

    我正在尝试学习游戏 正在做教程http www playframework com documentation 2 2 x ScalaTodoList 我遇到的问题是文件project Build scala 不是为我创建的 我应该手动创建
  • 事件触发的 Toast 通知 UWP

    想法 我正在为特定网络自动进行 wifi 登录 其中用户必须通过弹出诸如警报应用程序之类的 Toast 通知来输入凭据 但不是小睡或关闭按钮 而是登录或注销 问题 当用户连接到特定的 wifi 网络时 如何立即触发 toast 通知 您需要
  • 从 Python 调用 LibreOffice 时出错

    调用 LibreOffice 将文档转换为文本 这在 Linux 命令行中工作得很好 soffice headless convert to txt Text document to convert doc 但是当我尝试从 Python 运
  • Foreach 仅显示数组中的最后一项[重复]

    这个问题在这里已经有答案了 我试图创建一个 foreach 循环来迭代数组中的每个项目 但它只捕获最后一个项目 而不迭代第一个项目 我已经剥离了代码 仅显示相关部分 并添加了一些命令来识别问题 如上所述 message kk ll myAr
  • strip_tags() 和 mysqli_real_escape_string() 的安全性

    我正在参与一个关于信息安全的学校项目 其中一项作业是用 PHP 编写一些安全页面 我的小组中没有人了解 PHP 但这不是一个大问题 我们将学到足够的知识来创建所需的简单页面 学生助理给出的建议之一就是使用这两个函数strip tags an
  • Asp.Net MVC 5 中具有身份表和自定义表的多对多关系

    我正在尝试在 Asp Net Identity 生成的表中的用户与我自己的表之间建立关系 该关系必须是多对多 因为许多用户可以处理同一个任务 这是我的表 并且同一时间一个用户可以处理多个任务 public class Task public