1.首先推荐 网易云课堂上的一个付费课程:常老师带你学ASP.NET MVC ,价格199元

2. 一个.net的框架,ABP,中文介绍如下 http://www.cnblogs.com/farb/p/ABPTheory.html

3.经常遇到的ajax跨域请求的资源共享问题,参见这里http://www.ruanyifeng.com/blog/2016/04/cors.html

3 entityframework 的 数据库更新命令 https://www.cnblogs.com/panchunting/p/entity-framework-code-first-migrations.html

4.entityframework 必须知道的 fluent api 使用方法 https://www.cnblogs.com/caofangsheng/p/5715876.html

这里我想说一下自己的心得,entity framework 有一定的智能,可以创建表与表之间的关联关系。

比如:

下面这个一对多关系

 public class Proposal : AggregateRoot<int>
{ public virtual List<ServiceType> ServiceTypes { get; set; }
} public class ServiceType : Entity<long>
{ public virtual string Name { get; set; } }

系统会自动向 servicetype表中,加入外键 Proposal_Id列,完成关联,调用proposal.ServiceTypes 是没问题的。

但是下面这个就不行,不能调用proposal.requestor 会提示缺少外键关联:

 public class Proposal : AggregateRoot<int>
{ [ForeignKey("Requestor_Id")] //没有这个关联,proposal.requestor 就会出错
public virtual User Requestor { get; set; }
} public class User : AggregateRoot<int>
{
public virtual string Name { get; set; } }

其实,这是一个一对多关系,一个user对应多个proposal,系统也会自动在Proposal表中加入 Requestor_Id 外键,去关联user。但是系统没有将

Requestor属性和 Requestor_Id 外键 自动对应,需要我们手动对应,加入map。

我觉得,在使用List等集合的时候,可以不做处理,但是如果直接使用其他数据库对象类型作为属性,就要进行手动的map操作,比如这里的 requestor。
原因不是特别明白,等研究一下文档。

.Net 入门资料推荐 (编辑中)的更多相关文章

  1. Solum入门知识(编辑中)

    概要 参考:https://wiki.openstack.org/wiki/Solum An OpenStack project designed to make cloud services eas ...

  2. C++入门教程:大白话讲解,新手基础篇⭐⭐⭐(附源码及详解、视频课程资料推荐)

    目录 C++教程 前言 视频教程 文字教程 集成开发环境(IDE) 编译器 工作原理 学习指南 入门书籍 进阶书籍 算法.竞赛书籍 教程 标准构建 程序解释 第一个C++程序--"hello ...

  3. Python入门方法推荐,哪些基础知识必学?

    很多想入门的小伙伴还不知道Python应该怎么学,哪些知识必学,今天我们就来盘点一下. 01.入门方法推荐 总体来讲,找一本靠谱的书,由浅入深,边看边练. 网上的学习教程有很多,多到不知道如何选择.所 ...

  4. Git入门资料汇总

    Git是一个非常好用的版本控制工具,同时,它也是一个相对比较复杂的工具,想要掌握它还是需要花一番功夫的.网络上关于Git的入门资料已经很多了,我就不再重复了,直接把我学习的文章放在这里. Git详解 ...

  5. 【原】Redis学习资料推荐

    Redis学习资料推荐 网址: Redis官网http://redis.io/ Redis命令 http://redis.io/commands Redis教程 https://www.tutoria ...

  6. 自学 Python 3 最好的 入门 书籍 推荐(附 免费 在线阅读 下载链接)

    请大家根据自己的实际情况对号入座,挑选适合自己的 Python 入门书籍: 完全没有任何编程基础:01 号书 少量编程基础,不求全,只希望能以最快的速度入门:02 号书 少量编程基础,有一定的英文阅读 ...

  7. 转:UFLDL_Tutorial 笔记(deep learning绝佳的入门资料 )

    http://blog.csdn.net/dinosoft/article/details/50103503 推荐一个deep learning绝佳的入门资料 * UFLDL(Unsupervised ...

  8. GIT(2)----入门资料,分支管理,冲突解决

    最近一直使用者GIT发现使用起来确实很不错,最近做些整理总结,发现了一些很不错的资料,收集在这里,以备忘. GIT入门挺简单的,之前有些过一篇文章,关于GIT的,但是都是一些生硬的操作,并没有系统的学 ...

  9. Celery 分布式任务队列快速入门 以及在Django中动态添加定时任务

    Celery 分布式任务队列快速入门 以及在Django中动态添加定时任务 转自 金角大王 http://www.cnblogs.com/alex3714/articles/6351797.html ...

随机推荐

  1. Linux(Ubuntu)使用日记------markdown文档转化为word文档

    Linux(Ubuntu)使用日记------markdown文档转化为word文档

  2. sqlserver登录名权限和用户名权限语句设置

    在sqlserver的安全体系中分为登录名和用户名,登录名是用于登录整个数据库系统用的,用户名是针对各个具体的数据来创建的用户,所以针对权限设置要有这个两个用户进行分别设置,下面写下用语句设置这两个用 ...

  3. 快速沃尔什变换(FWT)及K进制异或卷积&快速子集变换(FST)讲解

    前言: $FWT$是用来处理位运算(异或.与.或)卷积的一种变换.位运算卷积是什么?形如$f[i]=\sum\limits_{j\oplus k==i}^{ }g[j]*h[k]$的卷积形式(其中$\ ...

  4. Linux下的Locale详解

    locale这个单词中文翻译成地区或者地域,其实这个单词包含的意义要宽泛很多.Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境. loca ...

  5. python 自动发现Java端口

    python 自动发现Java端口 #!/usr/bin/env python #encoding: utf8 import subprocess try: import json except Im ...

  6. android wake lock 电源管理简单学习

    需要配置清单文件:<uses-permission android:name="android.permission.WAKE_LOCK" /> 也可以参考我之前写的这 ...

  7. How to expand Azure VM OS Disk

    There are three main disk roles in Azure: the data disk, the OS disk, and the temporary disk. 1. OS ...

  8. 自定义滚动条样式-transition无效

    问题 需求是自定义滚动条样式,然后2秒内无操作隐藏滚动条. 2s内隐藏比较麻烦,不能用css实现,只能监听容器的touch事件,然后给滚动条加个opacity: 0的class. .class::-w ...

  9. 史上最全PMP备考考点全攻略(上篇-五大过程组,附赠资料)

    一.这可能是一篇史上最全的PMP备考考点全梳理文章 写在前面,这可能是史上最全的PMBOK考点全书考点梳理,由PMP备考自律营呕心沥血整理,内容较长,分为上下篇,绝对值得所有正在备考PMP的学员收藏! ...

  10. ansible-playbook用法

    一.playbook用法 1.playbook的执行文件为YAML语言编写,所以文件名为xxx.yml.YAML语法可以参考https://docs.ansible.com/ansible/lates ...