IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> wtm plus使用sqlserver部署出现(可能会导致循环或多重级联路径)解决办法 -> 正文阅读

[大数据]wtm plus使用sqlserver部署出现(可能会导致循环或多重级联路径)解决办法

一、问题描述

采用wtmplus开发,在线设计数据表与页面,同时能直接在线预览,效率非常的高。这次项目就是在线预览没有任何报错,下载了源码之后,我也是继续采用sqlite进行二次细节开发。同时,测试环境采用的是centos7+mysql5.6部署的。没有发现任何问题。结果,到了正式环境部署WindowsServer2016+Sqlserver2017,居然报错了。

具体错误信息是

System.AggregateException:?One?or?more?errors?occurred.?(将?FOREIGN?KEY?约束?'FK_AuditTrails_TechnologyInnovation_TechnologyInnovationId'?引入表?'AuditTrails'?可能会导致循环或多重级联路径。请指定?ON?DELETE?NO?ACTION?或?ON?UPDATE?NO?ACTION,或修改其他?FOREIGN?KEY?约束。

我第一时间询问度年该怎么解决,结果是一堆T-SQL处理办法,这种情况下。项目用EF启动,连表都没有,更别谈启动了。但是问题时找到了,sqlserver默认有ON DELETE NO ACTION 或 ON UPDATE NO ACTION限制,是可以关闭的。

二、解决办法

1、直接删除required

这时候和刘总请教得知,是定义外键的时候,设置required不为空导致的。

?解决办法也很简单,把required特性删除就完事了。

这种方式有个弊端,取消必填字段要求会导致业务逻辑问题。

2、重写OnModelCreating方法

经过群里大佬的指点,采用重写OnModelCreating方法,配置OnDelete(DeleteBehavior.NoAction)。

OnModelCreating的官方解释:在完成对派生上下文的模型的初始化后,并在该模型已锁定并用于初始化上下文之前,将调用此方法。 虽然此方法的默认实现不执行任何操作,但可在派生类中重写此方法,这样便能在锁定模型之前对其进行进一步的配置。通常,在创建派生上下文的第一个实例时仅调用此方法一次, 然后将缓存该上下文的模型,并且该模型适用于应用程序域中的上下文的所有后续实例另外在做数据库迁移生成迁移文件的时候也会调用OnModelCreating方法。通过在给定的 ModelBuidler 上设置 ModelCaching 属性可禁用此缓存,但注意这样做会大大降低性能。 通过直接使用 DbModelBuilder 和 DbContextFactory 类来提供对缓存的更多控制。

可以参照下面的博文,来具体解决。这篇博文icon-default.png?t=M3K6https://www.cnblogs.com/seekdream/p/10641510.html

用wtmplus,对于新手来说是个很好的过度时期,在线可视化制作项目。同时,还能得到微软MVP刘亮的一对一指导,可以在一个相对舒服的环境里完成项目。

有兴趣的可以去wtmplus官网,体验一下.NET在线开发。传送门http://wtmplus.walkingtec.cn/index.html#/

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-29 12:12:55  更:2022-04-29 12:16:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:05:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码