更多
2020年06月17日 20点25分 作者:叶飞 修改

Java vs C#:面向过程

变量和类型注释仅在eclipse操作上有区别:Ctrl+7:注释行Alt+Shift+J:方法上面添加注释///注释:不能自动补足变量常量const 保留关键字,但不可用final:类似const强类型语言 推导类型var在Java10之后引入。常用变量类型 String和Object(注意大写)不是内置类型类型转换函数转换:int g = Integer.valueOf("32");//String s = g.toString(); /* 错误:primitivetype不能toString() */ ……

变量 分支 循环 方法
2020年06月16日 20点10分 作者:叶飞 修改

Java简介和eclipse

历史诞生:1995年5月23日,Sun公司,James Gosling和他的同事一开始就是为了:跨平台:允许在Java Vitual Machine上,编译(为字节码格式)/解释执行,JIT(Just-In-Time)自动内存管理:不允许直接操作内存,Garbage CollectionC家族+面向对象一直开源,直到2009年04月20日,甲骨文74亿美元收购Sun,取得java的版权。社区不满Oracle的商业化,推出了OpenJDK……现状最流行的通用(Web/App/嵌入式……)开发语言之一,未占领 ……

Java简介 Eclipse
2020年06月14日 23点58分 作者:叶飞 修改

MVC:分层架构:Service接口和Prod/Mock实现

由UI层直接调用Repository和Entity,仍然有这几个问题:要求UI层(的开发人员)对Repository和Entity非常熟悉Entity和Repository上发生的改动,有可能影响到UI层能不能为UI层提供一个简洁、方便、能隔绝BLL层变动的调用方式呢?引入SRV层软件工程中没有什么问题是分层不能解决的;如果分层还不能解决,就再分一层! 于是,系统架构就变成:UI 引用 ProdServiceService引用BLL层(Repository和Entity)之前Action中调用Repos ……

三层架构
2020年06月14日 12点01分 作者:叶飞 修改

分层架构:利弊分析和选择

为什么需要分层?代码太多,需要组织:分层架构属于“纵向”组织。(组织代码/人手)题外话:为什么飞哥不看好“微服务”?本来就是“新瓶装老酒”(横向组织) 过犹不及 职责分离(单一职责),方便项目组织维护,甚至是重用。典型的就是目前流行的“前后端分离”:前端不需要懂C#/.NET/SQL……,后端不需要懂HTML/CSS/Javascript后端的API可以被:桌面网页、手机网页、手机APP以及其他终端(UI)重复使用其他作用:封装/统一协调/屏蔽细节……名言:没有什么是分层不能解决的,如果分层还不能解决,就 ……

分层架构 选择 利弊
2020年06月13日 23点27分 作者:叶飞 修改

Action和ViewResult:ViewName/Model传值

Controller中返回ActionResult的方法。一个Controller中可以有多个Action方法:重载的方法可以标记[HttpPost]/[HttpGet]等进行区分。但仅仅是[HttpPost]/[HttpGet]不能形成“重载”的效果(即不能用[HttpPost]/[HttpGet]等特性来区分方法)ViewResult 通过 return View() 返回,是最最常见的内容,返回整个页面。View的参数无参数(默认)return View()会去Views文件夹下面寻找:和它所在的c ……

Action参数 ViewName
2020年06月04日 23点15分 作者:叶飞 修改

复杂查询:自定义SQL/存储过程

继承的映射 只有当父类子类都需要被映射时,才会启动继承class MyContext : DbContext{public DbSet<Blog> Blogs { get; set; }public DbSet<RssBlog> RssBlogs { get; set; }}public class RssBlog : Blog{public string RssUrl { get; set; }}还可以使用include或者protected override void OnMo ……

EF 映射 配置 继承
2020年06月04日 23点13分 作者:叶飞 修改

EF配置:关联关系和继承

我们之前已经分别学习过:ER关系模型在对象(引用)和数据库(外键)上的表现形式。EF在构建Entity对象间关系时,采用了一种“混搭”的方式,引入了:影子属性比如每个Student都应该一个Classroom,就可以这样表示:public class Student : BaseEntity{//EF映射之后,StudyInId对应着Student表中的StudyInId列//如果严格按面向对象的要求,StudyInId就是多余的public int StudyInId { get; set; }//如果 ……

EF 配置 主键 约束
2020年06月04日 23点06分 作者:叶飞 修改

C#进阶:Entity和Repository

对象引用面向对象的世界里,万物皆对象。对象和对象之间的关系除了“继承”,就是“组合”(复习)。 这些关系通过对象的属性体现。比如:class Student{//一个学生有一个老师public Teacher Teacher { get; set; }}class Student{//一个学生有多个老师public IList<Teacher> Teacher { get; set; }}这就被称之为:引用或依赖,比如:Student引用了TeacherTeacher被Student引用Stu ……

Entity Repository模式
2020年06月04日 23点04分 作者:叶飞 修改

性能:原理/缓存/批量/NoTrack……

多个Repository从一个错误开始运行在SuggestService.Publish()中的如下语句Suggest suggest = new Suggest{Author = new UserRepository().GetById(authorId),//导致异常的语句Body = body,Title = title,//PublishedTime = DateTime.Now};suggest.Publish();return _suggestRepository.Save(suggest); ……

EF DbContext
2020年06月04日 21点03分 作者:叶飞 修改

单个Entity:基本增删改查和ChangeTracker

EF的DbContext和DbSet都提供了作用于Entity的、基本的、“对象化”的、“集合化”的增删改查方法:Add/AddRange()Remove/RemoveRange()Update()SaveChanges()说明:如果使用DbContext调用,建议使用泛型参数指定EntityRange后缀表明可以一次操作多个Entity但是,要多加小心,这些方法不能够“望文生义”!增StudentRepository repository = new StudentRepository();Studen ……

EF 增删改查 ChangeTracker
关键字



帮助

反馈