项目开发中的一些注意事项以及技巧总结
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
项目开发中的一些注意事项以及技巧总结相关推荐
- Vue开发中的一些常见套路和技巧(上)
Vue开发中的一些常见套路和技巧(上) 简介 大家好呀,我是 wangly19 ,这次文章主要是来总结下我在使用 Vue.js 总结出来的一些套路,可以做一些查缺补漏.如果还有有趣的小技巧,也可以在评 ...
- ssh项目同时使用mysql跟sqlserver数据库_MSSQL_如何把sqlserver数据迁移到mysql数据库及需要注意事项,在项目开发中,有时由于项目 - phpStudy...
如何把sqlserver数据迁移到mysql数据库及需要注意事项 在项目开发中,有时由于项目开始时候使用的数据库是SQL Server,后来把存储的数据库调整为MySQL,所以需要把SQL Serve ...
- React项目开发中的数据管理
原文链接:https://blog.csdn.net/hl582567508/article/details/76982756 redux中文文档:http://cn.redux.js.org/ Re ...
- 项目开发中常用JS表单取值方法
项目开发中常用JS表单取值方法 一.常用表单基本取值方法(form1为表单名称,TextBox1为控件ID,以文本框为例,html控件与web服务器控件是一样的) 1.form1.Te ...
- aspnet是前端还是后端_项目开发中无法回避的问题:前端和后端如何合作和并行工作?...
项目开发中无法回避的问题:前端和后端如何合作和并行工作? 前端,后端要想非常愉快的合作开发和集成,那最开始第1步就是要定义一套共用的数据模型接口.这一步是所有工作可以顺利进行的前提. 数据模型接口之后 ...
- IntelliJ IDEA 项目开发中各个目录的关系
项目根目录(Project Root):本地硬盘中存放项目内容的根目录 项目名称(Project Name):IDEA 保存的项目名称,默认和项目根目录的名称相同,可以修改.有啥作用?通过 IDEA ...
- 项目开发中发布更新文档备注
项目开发中 经常会遇到 某一个团队成员更新了,配置文件但是没有及时沟通导致项目发布后出现异常的情况. 这时就需要一个项目更新发布的规范说明文件,比如每次更新更改了哪些,进行文档备注. 更新的脚本文件也 ...
- Vue项目开发中的点滴积累系列文章
题记 -- 严于律己,精于行动,点滴积累,着眼未来,你也许不负青春 Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架 本文章 记录从基础入门到实际项目开发中的点点 ...
- 项目开发中对使用的第三方库统一进行管理__添加属性表/页
最近接手的一个项目开发中用到了很多第三方库,比如boost.gdal.xerces等等这些.从接手项目到现在从中学习到了很多之前从未见识过的东西.项目绝大部分都是前辈们写的,对于里面的对第三方库的管理 ...
最新文章
- ActiveMQ入门教程(二) - ActiveMQ的安装
- 8-7-Exercise
- VS+VA 开发NDK
- 【机器学习PAI实践十】深度学习Caffe框架实现图像分类的模型训练
- 谁动了我的奶酪?--java实例初始化的顺序问题
- bat遍历当前目录下的文件,批量重命名
- poj-1042 nyoj-30(Gone fishing)
- JavaWeb学习之路——SSM框架之Spring(六)
- oracle编译失效物化视图,使用“不存在”的Oracle物化视图
- iOS linker command failed with exit code 1 (use -v to see invocation)多种解决方案汇总
- 孩子从全班倒数第一到第二名,这位妈妈只做了这1件事!
- 几大 Git 平台仓库被劫,黑客欲勒索比特币
- 一招教你使用注解处理幂等问题 8种方案解决重复提交
- python北京房价预测_python数据分析——北京房价分析
- 爆炸性环境电气设计选型
- react 脚手架配置代理
- python视频转图片
- 关于安装公司监控软件后导致Mac电脑需要每天重启4次才能连网的解决办法
- 苹果从中国赚六百多亿美元,却在转移生产线,该减轻对它的依赖了
- 相似度算法--余弦相似度
热门文章
- 在VirtualBox下安装win7实现aero效果的图文教程
- UE4人工智能设计软件Promethean AI 详细安装步骤
- A Survey of Rate Adaptation Techniques for Dynamic Adaptive Streaming Over HTTP(自适应流媒体的综述)
- 【网络篇】第四篇——网络字节序
- php数组去重的函数,php数组去重函数的简单示例
- C. Swap Game
- linux vi全屏编辑器
- linux多线程同步概览
- 【S32K】S32K144入门笔记(2) Can(can_pal组件)
- 问题 J: 鸡兔同笼(2级) 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。