项目开发中的一些注意事项以及技巧总结-程序员宅基地

1、jquery采用ajax向后端请求时,MVC框架并不能返回View的数据,也就是一般我们使用View()、PartialView()等,只能返回json以及content等,但是一般我们在开发的时候也是使用json返回的,此时如果需要渲染界面或者是加载局部视图,我们可以在ajax的success的事件中使用$.html()来渲染后台给前端传的View()数据。一开始我遇到这个问题的时候还很纳闷,为什么ajax给后端穿了POST之后,不能加载局部页面,后来一想,是不是因为ajax是异步请求的原因,于是我把ajax的同步开关打开了,同时将后台传输的视图数据直接使用$html()就渲染到了前端页面。具体请参考:https://blog.csdn.net/m0_37302219/article/details/78272081

2 、后端MVC架构,一般前端都是使用Razor视图,使用@来加载后台传过来的数据比如ViewData,以及ViewBag等。此时,我建议在后端的C#中,我们给ViewBag赋值了之后,在前端的cshtml页面中这么做:
@{
List<T> xxx = ViewBag.xxx;
T xxx = ViewBag.xxx;
}
然后直接使用显式类型的变量来做处理。

3、EF Core中,尤其要注意多对多的关联属性的使用。如果使用不当就会加载不出来数据,直接会出一个null值,在这里请参考
https://blog.oneunicorn.com/2017/09/25/many-to-many-relationships-in-ef-core-2-0-part-1-the-basics/
认真的跟着这个博客做一遍就可以理解了。

4、EF Core中,当我们使用code First建模方式生成数据库时,如果生成数据库有问题了(当然一般是没有问题的,但是我就遇到了,可能也是我操作不当)我强烈建议,不要删除这个生成有问题的数据库,千万不要觉得删除了之后,可以再生成一遍,会出问题的。具体请看
http://www.cjjjs.com/paper/lkkj/2018711212518513.html

5、EF Core下一对多的关联中,需要注意(我不怎么用过EF,也不知道在EF中是不是很正常,在这里仅仅说EF Core,可能两者在我要说的这点上是一致的)。我们以官方为例:https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db
一个博客(Blog)对应多个文章(Post),一篇文章对应一个博客(Blog)。此时,当我们使用上下文来获取数据库数据时,代码如下:
List<Blog> Blogs = _context.Blogs.ToList();
List<Post> Posts = _context.Posts.ToList(); // 如果不写这句代码,不从数据库里面加载处理关联属性Post的数据,那么Blogs里面的Post关联属性也将会是null值,这点是要特别注意的,只有写了这句代码,Blogs类型的关联属性Post才能有数据。

6、项目中一定要设计好数据库,一般来讲如果有级联关系的,就设置为两个表(这里的级联关系我是这么定义的:假设一个类别下有多条数据,这就是一个级联关系,就像是一个省份下面有多个城市)。在实体方面,我们可以认为是一对多关系,如果是一对多关系,我们就建两个表。设计好了数据表,对我们的开发有着莫大的好处,有时候多加一个字段和少一个字段完全不一样。

7、建议在列表数据中使用ForEach来遍历,也就是一般的List<T>变量,使用List<T>.ForEach来遍历数据处理逻辑

转载于:https://www.cnblogs.com/zhiyong-ITNote/p/9307342.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34138056/article/details/94695544

智能推荐

KONGSBERG RMP201-8数字量输入模块-程序员宅基地

文章浏览阅读295次。总的来说,KONGSBERG RMP201-8数字量输入模块是一款性能卓越、功能丰富的产品。除了信号处理功能外,该模块还配备了通信接口,如以太网、串行通信等,这使得它能够与其他设备或控制系统进行数据交换和控制。KONGSBERG RMP201-8数字量输入模块是一款功能强大的模块,专为接收和处理数字信号而设计。RMP201-8模块的核心功能是接收数字信号,如高低电平、脉冲信号等,并将这些信号转换为控制系统可以识别和处理的格式。通道的数量通常根据具体的应用需求进行配置,从而为用户提供了极大的灵活性和扩展性。

异常数据检测 | Python基于Hampel的离群点检测_python 离群点检测-程序员宅基地

文章浏览阅读823次。异常数据检测 | Python基于Hampel的离群点检测_python 离群点检测

中点Bresenham画圆-程序员宅基地

文章浏览阅读117次。这里不仔细讲原理,只是把我写的算法发出来,跟大家分享下,如果有错误的话,还请大家告诉我,如果写的不好,也请指出来,一起讨论进步。算法步骤:(1) 输入圆的半径R。(2) 计算初始值d = 1 - R, x = 0; y = R。(3) 绘制点(x, y), 及其在八分圆中的另外7个对称点。(4) 判断d的符号,若d < 0, 则先将d更新为d+2*x+3,再将(x,y)..._设圆半径r=10,初始点(0,10),利用中点bresenham画圆法绘制八分之一圆弧

idl结果显示窗口如何缩小_IDL入门教程二(上)(简单图形显示II)-程序员宅基地

文章浏览阅读141次。第二章简单的图形显示本章概述科学分析最基本的能力就是以简单的线画图、等值线图和曲面图来显示所研究的数据。在这一章中,将知道用这些方式来显示数据是多么容易。也将学会用系统变量和关键字来定位和标注简单的图形显示。将学会如下几点:1.如何用Plot命令将数据显示为线画图。2.如何用Surface和Shade_Surf命令将数据显示为曲面图。3.如何用Contour命令将数据显示为等值线图。4.如何在显示..._idl中画图时怎样让横坐标的讲变窄

Python 网络爬虫与数据采集(二)_python数据采集与网络爬虫报告-程序员宅基地

文章浏览阅读1.6k次,点赞9次,收藏46次。第二部分 初章 网络爬虫初识4. 网络爬虫请求篇_python数据采集与网络爬虫报告

相机的标定之手机相机的标定_相机标定的相机可以是手机吗-程序员宅基地

文章浏览阅读4.3k次,点赞3次,收藏26次。相机的标定是 SLAM 最开始的部分,由于设备原因,这个星期只做了手机相机的标定。这篇文章主要就是介绍一下相机标定的原理以及用OpenCV中现有的函数或是Matlab做相机标定的过程。_相机标定的相机可以是手机吗

随便推点

IJKPLAYER源码分析-Android端显示-程序员宅基地

文章浏览阅读88次。上文分析了OpenGL ES渲染的实现。本文边可以分析video画面是如何在Android端窗口上显示的了。

数学建模(七)-----预测类-------time series_时间序列 赛马问题-程序员宅基地

文章浏览阅读1k次。构成要素:长期趋势,季节变动,循环变动,不规则变动长期趋势( T )现象在较长时期内受某种根本性因素作用而形成的总的变动趋势季节变动( S )现象在一年内随着季节的变化而发生的有规律的周期性变动循环变动( C )现象以若干年为周期所呈现出的波浪起伏形态的有规律的变动不规则变动(I )是一种无规律可循的变动,包括严格的随机变动和不规则的突发性影响很大的变动两种类型️ https://ww..._时间序列 赛马问题

OJDBC版本【classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别】_class12.jar和ojdbc.jar-程序员宅基地

文章浏览阅读883次。classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别,之间的差异在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle JDBC驱动来解决的?最常使用的ojdbc14.jar有多个版本,classes12.jar有多个版本你了解吗? 连接类型:1、JDBC OCI: oci是oracle call int_class12.jar和ojdbc.jar

MFC编译程序,缺少MFC动态链接库的解决-程序员宅基地

文章浏览阅读189次。MFC编译程序,缺少MFC动态链接库的解决问题:VS2010 c++编写的程序在别人的机子运行不了,缺少mfc100u.dll xxx100d.dll等的解决方法解决方法: 1.将这些dll打包,和应用程序一起发布; 2.采用MFC静态编译;附1:VS2010中静态编译设置方法使用VS2010编译的程序在windows xp中运行时 经常会出现找不到 相关的DLL文..._mfc 去除dll mfc动态库

【经验分享】计算机专业如何自己增加项目经验?-程序员宅基地

文章浏览阅读4.1k次,点赞9次,收藏23次。来源知乎精选话题,已获得作者授权,详情见阅读全文 现状:最近在找软件开发的实习工作,分别参加了华为,CVTE等面试,在面试过程中,没有项目经验,立马就被面试官表示 没有任何..._知乎 计算机项目经历

精选114个JAVA本科的计算机毕业设计精品,有手就能上手-程序员宅基地

文章浏览阅读31次。对于即将迎来毕业设计的计算机专业的你,选择合适的题目和成功完成项目是个棘手的问题。Springboot电子政务理念的高校”校长信箱的设计与实现48q90。Springboot中小型企业物流管理系统的设计与实现ey32q。Springboot基于的流浪动物领养系统的设计与实现gz2gy。Springboot学生学业预警管理系统的设计与实现57j7l。Springboot高校餐饮管理系统的设计与实现ttu99。Springboot高校宿舍管理系统的设计与实现ukgdt。

推荐文章

热门文章

相关标签