更多
2019年07月20日 23点13分 作者:叶飞 修改

源栈培训:ASP.NET-11:EF-关联增删改查

通过Linq查询,我们能获得entity本身,但entity关联(related)的数据呢?比如,Blog.Posts……加载(load)模式 EF提供了三种加载关联数据的模式即时(Eager)加载:关联的数据会立即,亦即在query表达式被执行时被加载using (var context = new BloggingContext()){var blogs = context.Blogs.Include(blog => blog.Posts) //blog的Posts现在就从数据库中取出来了. ……

源栈培训 EF 关联 增删改查
2019年07月20日 17点50分 作者:叶飞 修改

源栈培训:ASP.NET-10:EF-Context和基本增删改查

从一个错误开始 运行在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 简单 增删改查
2019年07月18日 23点24分 作者:叶飞 修改

源栈培训:ASP.NET-9:EF的复杂映射

定义表和列:可以使用OnModelCreating()protected override void OnModelCreating(ModelBuilder modelBuilder){modelBuilder.Entity<User>().ToTable("User") //表名改成User.Property(u => u.Name) .IsRequired(); //Name列不能为空}也可以使用Data Annotations[Required]public string N ……

源栈培训 EF 复杂映射
2019年07月18日 13点51分 作者:叶飞 修改

源栈培训:ASP.NET-8:DBFactory构建数据库

为什么需要Factory?一个可控的开发/测试用数据库至关重要!反正你都要“做”数据,干嘛不把数据做得更好一些呢?(每次登陆都先去注册一次?或者先去数据库查看一次?你也看不到原始密码啊……)混乱的数据库,会:崩溃系统隐藏bug让开发和测试变得异常困难记住:很多事情,从一开始就严格执行比后期扭转容易得多。当然,你对“有没有后期”都没信心,当我没说,^_^----------------------------项目管理和系统架构,很多时候,都是在未来收益和前期投入之间做取舍。所以,项目管理究竟是科学,还是艺术 ……

源栈培训 ASP.NET 数据库
2019年07月14日 22点58分 作者:叶飞 修改

源栈培训:ASP.NET-7:Web账户安全

密码保护“找回密码”变成了“重置密码”,为什么?绝对不能使用明文密码:CSDN数据泄露案告破 MD5单向加密:using (MD5 md5Hash = MD5.Create()){Console.WriteLine(GetMd5Hash(md5Hash,"9876"));}static string GetMd5Hash(MD5 md5Hash, string input){//1. 将字符串转换成byte[]//2. 进行MD5加密运算byte[] data = md5Hash.ComputeHash( ……

源栈培训 ASP.NET 账户安全
2019年07月13日 22点41分 作者:叶飞 修改

源栈培训:ASP.NET-6:Entity Framework Core-1-Model和Migration

复习:(对象)持久化 Entity Framework,就是.NET提供的实现对象持久化的工具。核心:Model model是实现持久化的,主要由两部分构成:entity(实体):需要被持久化的对象,通常来说,就是BLL层的业务对象context object(上下文对象):代表和数据库的一次会话(session),可用于:维护(打开/关闭)数据库的连接完成数据库的增删改查public class DBUserRepository : DbContext //继承是必须的{//注意这里:不能是字段,不能是 ……

源栈培训 EF Migration
2019年07月11日 14点00分 作者:叶飞 修改

源栈培训:ASP.NET-5:Data Annotations和Model Validation

其实我们在前面已经看到过Data Annotations的使用:[DataType(DataType.Password)] //转化为:type="password"public string Password { get; set; } [Display(Name = "自我介绍")] //为label填充文本public string SelfDescription { get; set; }(演示:其他DataType,略) 但其实Data Annotations最重要的作用是进行验证(V ……

源栈培训 ASP.NET Model验证
2019年07月09日 22点16分 作者:叶飞 修改

源栈培训:系统架构:三层和仓储(Repoistory)模式

什么是“企业(enterprise)应用”? 在这本号称“企业应用开发圣经”的《企业应用架构模式》中,花了一章节的来进行解释(其实还是没怎么解释清楚,^_^,或者说懂了的人自然就能看懂,不懂的还是看不懂……)一点闲话:飞哥是怎么懂的? 代码量:比如“多”、“复杂”、“不协调”、“没有逻辑”……就得经历了这些事你才能明白 阅读/思考Martin Fowler总结出来了一些关键字:pesistent data a lot of data access data concurentlya lot of user ……

源栈培训 系统架构 三层 Repoistory
2019年07月08日 14点01分 作者:叶飞 修改

源栈培训:ASP.NET-4:Model绑定

通常我们不会使用Request.Form["key"](^_^ 思考:为什么?),而是通过Model绑定,从属性中获取前台Post回来的值。Model绑定 在PageModel中为属性添加特性:[BindProperty]public string UserName { get; set; } /*UserName进行了绑定,能够获得前台传值*/public string Password { get; set; } /*Password没有绑定,不能够获得前台传值*/这样就能在POST的时候 ……

源栈培训 ASP.NET Model 绑定
2019年07月04日 22点43分 作者:叶飞 修改

源栈培训:ASP.NET-3:Form表单提交

Form<form asp-controller="Demo" asp-route="register"asp-action="Register" method="post"><!-- Input and Submit elements --></form><form method="post" asp-route-returnurl="@ViewData["ReturnUrl"]" action="/Demo/Register"><!-- Input ……

源栈培训 ASP.NET Form Razor
关键字



帮助

反馈