ASP.NET Core 2.2在执行多对多插入操作时返回"NotSupportedException: Collection was of a fixed size"错误。
创始人
2024-09-14 17:01:27
0

这个错误通常在使用Entity Framework Core(EF Core)进行多对多插入操作时出现。它表示你正在尝试向一个具有固定大小的集合中添加元素。

解决这个问题的方法是确保你的集合具有可变大小。有两种常见的方法可以实现这一点:

  1. 使用List代替ICollection:将你的集合类型从ICollection更改为ListList是可变大小的,可以用于多对多关系。
public class Student
{
    public int Id { get; set; }
    public string Name { get; set; }
    public List Courses { get; set; } // 使用List替代ICollection
}

public class Course
{
    public int Id { get; set; }
    public string Name { get; set; }
    public List Students { get; set; } // 使用List替代ICollection
}
  1. OnModelCreating方法中配置多对多关系时使用HasManyWithMany方法:使用HasManyWithMany方法来配置多对多关系时,确保不要使用HasMany方法的重载版本,该版本接受一个固定大小的集合类型。
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity()
        .HasMany(s => s.Courses)
        .WithMany(c => c.Students);
}

使用上述方法之一,你应该能够解决"NotSupportedException: Collection was of a fixed size"错误,成功执行多对多插入操作。

相关内容

热门资讯

最新技巧“老友内蒙麻将有挂吗”... 老友内蒙麻将有挂吗是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我...
1.9分钟了解“茶馆辅助软件”... 1.9分钟了解“茶馆辅助软件”开挂(透视)辅助下载靠谱教程(有挂方式)1、下载安装好茶馆辅助软件,进...
重大推荐“wepoker有辅助... 重大推荐“wepoker有辅助插件吗”开挂(透视)辅助工具系统教程(证实有挂)【无需打开直接搜索加薇...
玩家必看攻略“芒果辅助器安卓版... 芒果辅助器安卓版 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理由: 1...
重大发现“椰岛常胜辅助器”开挂... 重大发现“椰岛常胜辅助器”开挂(透视)辅助平台靠谱教程(真是有挂)>>您好:软件加136704302...
盘点一款“五十k辅助”开挂(透... 大家好,今天小编来为大家解答五十k辅助这个问题咨询软件客服可以免费测试直接加微信(136704302...
分享一款“极速官方游戏暗堡辅助... 分享一款“极速官方游戏暗堡辅助器”开挂(透视)辅助脚本黑科技教程(有挂教学)【无需打开直接搜索加薇1...
玩家必备科普“微信小程序四川微... 微信小程序四川微乐脚本开挂教程视频分享装挂详细步骤在当今的网络游戏中,微信小程序四川微乐脚本作为一种...
来一盘“掌中乐游戏辅助器”开挂... 来一盘“掌中乐游戏辅助器”开挂(透视)辅助安装必备教程(有挂方法)1、下载安装好掌中乐游戏辅助器,进...
推荐一款“逸趣麻将修改器”开挂... 推荐一款“逸趣麻将修改器”开挂(透视)辅助插件分享教程(有挂详细) 了解更多开挂安装加(136704...