技术标签: entity framework 学习笔记 框架
最近使用EF框架在向数据库中插入数据时,运行到db.SaveChanges()处出现错误(BookID是表Book的id,且数据库中设置的是自增),
代码如下:
try
{
Model.Book info = new Model.Book();
info.BookName = bookName;
info.Summary = summary;
info.OpDate = DateTime.Today;
info.Author = "管理员";
info.OpUserName = "管理员";
info.OpUserSign = "Admin";
db.Book.Add(info);
context.Response.ContentType = "text/plain";
if (db.SaveChanges() > 0)
{
context.Response.Write("ok");
}
else
{
context.Response.Write("no");
}
//模型
public partial class Book
{
public int BookID { get; set; }
public string BookName { get; set; }
public string Author { get; set; }
public string Summary { get; set; }
public string OpUserSign { get; set; }
public string OpUserName { get; set; }
public Nullable<System.DateTime> OpDate { get; set; }
}
当插入时在db.SaveChanges()出现错误,查看错误时:
An error occurred while updating the entries. See the inner exception for details” 参考文章问题答案 。
这个错误很模糊,根本看不出来哪里出错了,然后调试查看exception.InnerException.InnerException - > ResultView中看到确切的错误:当 IDENTITY_INSERT 设置为 OFF 时,不能为表‘XXX’中的标识列插入显式值。
这时候可能是由于数据库里相应的表是否已经设置自动增加了,如果设置 了,你但是EF模型中还没有更新,你重新加载一次表到edmx,再试一下。
如果还出现错误,可以在你的Context的OnModelCreating中添加如下
public partial class BookEntities : DbContext
{
public BookEntities()
: base("name=BookEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//在这里添加,设置主键映射自增
modelBuilder.Entity<Book>().Property(b => b.BookID)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
}
public virtual DbSet<Book> Book { get; set; }
}
文章浏览阅读936次。1 kmeansK-means聚类算法也称k均值聚类算法,是集简单和经典于一身的基于距离的聚类算法。它采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为类簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。2.算法核心思想K-means聚类算法是一种迭代求解的聚类分析算法,其步骤是随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本_kmeans算法相关性分析
文章浏览阅读466次,点赞8次,收藏12次。以上是基于Spring Boot的自习室管理系统的主要功能,通过这些功能可以实现自习室座位的管理、课程的管理、学员信息的管理和行为管理等功能,为自习室提供一个高效、便捷、智能的解决方案。登录后,系统将根据用户的角色显示相应的功能菜单。通过以上各个功能模块的实现,基于Spring Boot的自习室管理系统将提供一套完善的解决方案,帮助自习室提高工作效率和服务质量,为学员提供更加便捷、舒适的学习环境。通过生成相应的报表,管理员可以更好地了解自习室的使用状况和学员的学习情况,从而做出相应的决策和管理调整。_基于springboot的共享自习室管理系统参考文献
文章浏览阅读4.5k次,点赞7次,收藏26次。在进行深度学习过程中会遇到几个模型进行串联,这几个模型需要使用同一个优化器,但每个模型的学习率或者动量等其他参数不一样这种情况。一种解决方法是新建一个模型将这几个模型进行串联,另一种解决方法便是往优化器里面传入这几个模型的参数。..._pytorch加载多个模型
文章浏览阅读1.4k次。原标题:中级软考多少分及格盛泰鼎盛 对于第一次报名软考的朋友,可能对于考试合格分数线不太了解,软考分为初、中、高三个级别,那么软考中级多少分及格呢?软考中级合格标准根据往年的软考合格分数线来看,各级别的合格标准基本上统一的。2019年上半年计算机技术与软件专业技术资格(水平)考试各级别各专业各科目合格标准均为45分(总分75分)。而2016下半年计算机技术与软件专业技术资格(水平)考试除了信息系统..._计算机程序设计员中级考试内容及合格标准
文章浏览阅读50次。2019独角兽企业重金招聘Python工程师标准>>> ..._爬虫考虑安全法律因素
文章浏览阅读263次。本章主要内容有: ● 实现基于微软账户的第三方身份验证 ● 实现双因子身份验证 ● 验证码机制实现基于微软账户的第三方身份验证 在微软提供的ASP.NET MVC模板代码中,默认添加了微软、Google、twitter以及Facebook的账户登录代码(虽然被注释了),另外针对国内的一些社交账户提供了相应的组件,所有组件都可以通过Nuget包管理器安装: 从..._identity 二次登录
文章浏览阅读350次。首先要解决的问题是敏感词的存储形式,这就涉及数据结构,先想想搜索屏蔽要怎么处理,比如我有一个content,我就遍历它每个字符,先看与词典中所有词第一个字符相同的,再看第二个,再看第三个.等等。那么,很明显,这就需要一种以层来存储的数据结构--树来存储敏感词汇。我首先设计了一个Node,它要存储同一级的node指针,下一级的node指针,标识词的结束,数据。最开始本来只想到用树的结构,最后发现, ...
文章浏览阅读167次,点赞3次,收藏7次。1. 背景介绍1.1 隐私保护的重要性在当今的数字时代,个人隐私保护已经成为一个越来越受关注的问题。随着大数据和人工智能技术的快速发展,海量的个人数据被收集和利用,这给个人隐私带来了巨大的风险。如何在利用数据的同时保护个人隐私,已经成为了一个亟待解决的挑战。
文章浏览阅读177次。1.clone方法保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。2.getClass方法final方法,获得运行时类型。3.toString方法该方法用得比较多,一般子类都有覆盖。4.finalize方法该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。5.equals方法该方法是非常重..._一般情况下,异常类存放在什么包中
文章浏览阅读1.1k次。队列的定义队列简称为“对”,英文名为“Queue”。队列和堆栈一样都是特殊的线性表。和堆栈不一样的是,队列这种线性表的特殊是它限定只能在表的一端作插入运算,然后只能在表的另一端作删除运算,作插入元素的这一端为“队首”,作删除运算的这一端称为“队尾”。队列的这一特征我们又可以称它为“先进先出”。队列的这个“先进先出”就如同我们平时排队一样,讲究一个先来后到,先来的排在前面,后到的排在后面,排前面的先走,排后面的后走。队列有两种存储结构,一种是顺序排列,另一种是链式排列。如下面图的采用顺序存储结构_队列又可以简称为
文章浏览阅读867次,点赞11次,收藏20次。1.背景介绍在当今的数字时代,数据已经成为企业和组织中最宝贵的资产之一。随着数据的增长和复杂性,数据驱动的决策变得越来越重要。数据驱动的产品研发是一种新兴的方法,它利用数据来优化产品的设计、开发和运营。这种方法可以帮助企业更有效地利用数据,提高产品的安全性和质量。在这篇文章中,我们将探讨数据驱动的产品研发的核心概念、算法原理、实例和未来发展趋势。我们将涉及到以下几个方面:背景介绍核...
文章浏览阅读1.3k次。转载自:http://blog.sina.com.cn/s/blog_48b82df90100bpfj.html基础类的DSP/BIOS API调用一、时钟管理CLK(1)Uns ncounts = CLK_countspms(void) 返回每毫秒的定时器高分辨率时钟的计数值(2)LgUns currtime = CLK_gethtime(void) _clk_gethtime 返回值