EF架构~CodeFirst自关联表的插入
这个文章对之前EF的一个补充,对于一些自关联表的添加,如果你建立了表约束确实有这种问题,一般主键为整形自增,父ID为可空,这时,在添加时如果不为ID赋值,结果就会出错。
错误:
无法确定依赖操作的有效顺序。由于外键约束、模型要求或存储生成的值,因此可能存在依赖关系。
解决:
[HttpPost]
public ActionResult Create(WebManageMenus entity)
{
try
{
entity.Id = -;//自关联表要主动赋值
entity.About = "";
entity.Operator = "";
menuRepository.Insert(entity);
return RedirectToAction("Index");
}
catch
{
return View();
}
}
结果:
aaarticlea/png;base64,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" alt="" />
EF架构~CodeFirst自关联表的插入的更多相关文章
- EF架构~CodeFirst数据迁移与防数据库删除
回到目录 本文介绍两个概念,防数据库自动删除,这是由于在code first模式下,当数据实体发生变化时,会对原来数据库进行删除,并将新数据表添加进来,但这对于我们的运营环境数据库,是万万不能接受的, ...
- EF架构~codeFirst从初始化到数据库迁移
一些介绍 CodeFirst是EntityFrameworks的一种开发模式,即代码优先,它以业务代码为主,通过代码来生成数据库,并且加上migration的强大数据表比对功能来生成数据库版本,让程序 ...
- EF架构~CodeFirst生产环境的Migrations
回到目录 Migrations即迁移,它是EF的code first模式出现的产物,它意思是说,将代码的变化反映到数据库上,这种反映有两种环境,一是本地开发环境,别一种是服务器的生产环境,本地开发环境 ...
- EF架构~CodeFirst模型下的数据初始化
回到目录 我为什么会来 在传统的大型系统设计中,数据库建模是个比开发更早的环节,先有数据库,然后是ORM模型,最后才是开发程序,而这种模型在EF出现后发生了转变,而且有可能将来会被code first ...
- EF如何操作内存中的数据以及加载相关联表的数据:延迟加载、贪婪加载、显示加载
之前的EF Code First系列讲了那么多如何配置实体和数据库表的关系,显然配置只是辅助,使用EF操作数据库才是每天开发中都需要用的,这个系列讲讲如何使用EF操作数据库.老版本的EF主要是通过Ob ...
- EF Core中,通过实体类向SQL Server数据库表中插入数据后,实体对象是如何得到数据库表中的默认值的
我们使用EF Core的实体类向SQL Server数据库表中插入数据后,如果数据库表中有自增列或默认值列,那么EF Core的实体对象也会返回插入到数据库表中的默认值. 下面我们通过例子来展示,EF ...
- 在MyBatis中查询数据、涉及多参数的数据访问操作、插入数据时获取数据自增长的id、关联表查询操作、动态SQL、关于配置MyBatis映射没有代码提示的解决方案
1. 单元测试 在单元测试中,每个测试方法都需要执行相同的前置代码和后置代码,则可以自定义2个方法,分别在这2个方法中执行前置代码和后置代码,并为这2个方法添加@Before和@After注解,然后, ...
- EF中新建表和关联表的方法
以机场表为例 private static AIRPORT_HELIPORTManager AirportHeliportManager => ManagerFactory.Instance.A ...
- 【EF学习笔记08】----------加载关联表的数据 显式加载
显式加载 讲解之前,先来看一下我们的数据库结构:班级表 学生表 加载从表集合类型 //显示加载 Console.WriteLine("=========查询集合===========&quo ...
随机推荐
- C# onverride、abstract、vitrtual、new、sealed
abstract: 抽象方法是隐式的虚方法 在抽象方法声明中,不能使用static或者virtual修饰符 override: override关键字提供派生类对基类方法的新的实现,重写的基类方法必须 ...
- 猜数字 事先给定一个数字,然后让用户猜3次,猜不中就输了,猜中就赢了。 每次猜错,给出提示,less or big
c = 0a = 10while c <3: b = int(raw_input("请输入数字")) if b == a: print " ...
- terminal崩溃打不开的一种原因以及ubuntu下matlab权限不够的解决办法
为了解决点击matlab图标闪退的问题,我往.bashrc添加了如下命令: source /usr/local/MATLAB/R2015b/bin/matlab 结果导致打开新的terminal闪退. ...
- redis客户端连接异常
本文参考:http://mdba.cn/2015/04/02/redistwemproxy-%e5%ae%a2%e6%88%b7%e7%ab%af%e8%bf%9e%e6%8e%a5%e5%bc%82 ...
- gulp 配置自动化前端开发
有的人说,grunt已经廉颇老矣,尚能饭否.gulp已经成为了未来的趋势,或许将撼动grunt的地位. 那么就得看看gulp到底优势在哪里,在我最近的使用中发现,我的到了一个结论:“grunt廉颇老矣 ...
- <Oracle Database>数据库启动与关闭
启动和关闭Oracle数据库 要启动和关闭数据库,必须要以具有Oracle 管理员权限的用户登陆,通常也就是以具有SYSDBA权限的用户登陆.一般我们常用INTERNAL用户来启动和关闭数据库(INT ...
- CCNA第四章第五章Cisco的IOS与SDM及其管理考试要点学习笔记
1. IOS的用户界面 Cisco互联网操作系统(IOS)是思科路由器和大多数交换机的核心,它是一个可以提供路由,交换,网络互联以及远程通信功能的专有内核. Cisco路由器的IOS软件 ...
- SHELL实现同时操作多个服务器:服务器批量管理
引言: 1.如果你想知道你所管理的几万台服务器的/home分区使用率是多少. 2.如果你想为你所管理的几万台服务器添加同一个计划任务你该怎么办? 3.如果你想让你所管理的几万台 ...
- Linux下安装tomcat
安装tomcat之前首先安装jdk,这个看前面的帖子. 下面说centeros6.5安装tomcat7的方法: 1.将apache-tomcat-7.0.29.tar.gz文件上传到/home/zha ...
- 对部分Java名词的总结
对部分Java名词的总结: 前端技术: CSS:是层叠样式表(Cascading Style Sheets)的缩写,它用于定义HTML元素的显示形式,是W3C推出的格式化网页内容的标准技术. Boot ...