NotMapped特性可以应用到领域类的属性中,Code-First默认的约定,是为所有带有get,和set属性选择器的属性创建数据列。。

NotManpped特性打破了这个约定,你可以使用NotMapped特性到某个属性上面,然后Code-First就不会为这个属性就不会在数据表中创建列了。

我们看一下下面的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace EF2
{[Table("StudentMaster",Schema="WaHaHa")]public class Student{[Key][Column(Order=5)]public int StudentKey1 { get; set; }[Key][Column(Order=6)]public int StudentKey2 { get; set; }[MaxLength(20)][ConcurrencyCheck][Required][Column("SName",Order=1,TypeName="nvarchar")]public string StudentName { get; set; }[NotMapped()]public int? Age { get; set; }public int StandardRefId { get; set; }[ForeignKey("StandardRefId")]public virtual Standard Standard { get; set; }}
}

注意到没有,这个表里面没有Age列。

但是如果属性,只有Get属性访问器,或者只有set属性访问器,那么Ef Code-First就不会为它创建数据列了。

请看:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace EF2
{[Table("StudentMaster",Schema="WaHaHa")]public class Student{[Key][Column(Order=5)]public int StudentKey1 { get; set; }[Key][Column(Order=6)]public int StudentKey2 { get; set; }[MaxLength(20)][ConcurrencyCheck][Required][Column("SName",Order=1,TypeName="nvarchar")]public string StudentName { get; set; }[NotMapped()]public int? Age { get; set; }public int StandardRefId { get; set; }public string FirstName {get { return FirstName; }}public int myAge;public int MyAge {set { value = myAge; }}[ForeignKey("StandardRefId")]public virtual Standard Standard { get; set; }}
}

得到的数据库还是这个:

7.10 数据注解特性--NotMapped相关推荐

  1. 第6章 数据注解 System.ComponentModel.DataAnnotations 、注解后台原理、自定义验证ValidationAttribute、IValidatableObject

    客户端验证对用户向表单中输入的数据给出一个即时反馈. 服务器验证,主要是因为来自网络的信息都是不能信任的. 一. 为验证注解订单 1 .验证注解的使用,自定义错误提示消息 数据注解特性定义在 Syst ...

  2. MVC5 数据注解和验证

    ①利用数据注解进行验证 ②创建自定义的验证逻辑 ③模型元数据注解的用法 ①先创建数据源 1,创建我们的Model  Order 2,创建控制器带EF 选择模型为Order 当你运行的时候会报错,需要代 ...

  3. MVC5中Model层开发数据注解

    ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证(在服务器端和客户端验证数据的有效性) 数 ...

  4. springmvc学习笔记(10)-springmvc注解开发之商品改动功能

    springmvc学习笔记(10)-springmvc注解开发之商品改动功能 springmvc学习笔记(10)-springmvc注解开发之商品改动功能 标签: springmvc springmv ...

  5. 深入了解EntityFramework——数据注解属性

    当惯例规则不符合设计需求时,我们可以使用数据注解配置打造更合适的数据库模型.本文根据示例项目对常用的数据注解属性做一个简要的举例说明. EFCodeFirst使用的约定大于配置的的编程模式, 这种模式 ...

  6. 云小课|聊一聊DRS的数据过滤特性

    [本期推荐专题]在DevOps市场中,华为云DevCloud拔得头筹,看它如何助力企业面对商业环境瞬息万变快速响应. [摘要] 目前,DRS已支持其他云.本地IDC.ECS自建MySQL.SQL Se ...

  7. QIIME 2教程. 10数据导出ExportingData(2021.2)

    QIIME 2用户文档. 10数据导出 https://docs.qiime2.org/2021.2/tutorials/exporting/ Exporting data 注:最好按本教程顺序学习, ...

  8. QIIME 2教程. 10数据导出Exporting data(2020.11)

    文章目录 QIIME 2用户文档. 10数据导出 导出特征表 导出进化树 导出与提取 译者简介 Reference 猜你喜欢 写在后面 QIIME 2用户文档. 10数据导出 https://docs ...

  9. Java 10的10个新特性,将彻底改变你写代码的方式

    转载自 Java 10的10个新特性,将彻底改变你写代码的方式 Java 9才发布几个月,很多玩意都没整明白,现在Java 10又要来了.. 这时候我真尼玛想说:线上用的JDK 7 甚至JDK 6,J ...

最新文章

  1. [转载红鱼儿]kbmmw 开发点滴:ErrorTable用法
  2. Notepad2替代系统自带的记事本
  3. RoIPooling
  4. 一次历史漏洞分析与复现的全部过程
  5. 学习操作系统的经典书籍
  6. 如果给一个单位做相关的软件,你认为最重要的是需要得到谁的支持,为什么...
  7. ios微信本地视频上传到服务器,ios本地视频wx.uploadFile上传
  8. Xtrabackup备份与恢复
  9. git在eclipse中的配置 转载
  10. pip工具可以打包python源代码吗_将python源文件打包成exe文件
  11. 神经网络十大学习率衰减提效策略!
  12. 几篇关于 Redis集群方面的知识学习
  13. 【深入浅出通信原理-学习笔记】复用和多址技术
  14. 计算机软件的初始密码,怎么设置电脑软件密码
  15. 用计算机清点木材的数量,木材检验员培训课件-木材出入库管理.ppt
  16. proposal_target_layer.py (FPN)
  17. 大型网站建设方案(学院网站建设方案)
  18. .htaccess wp博客 静态网页 永久链接一步步来
  19. 对未来人工智能的一些预测和想法
  20. 下单账号与支付账号不一致,请核实后再支付 问题原因

热门文章

  1. 关于ASP.NET Web 部件连接的引入
  2. 使用Nmap获取目标服务器开放的服务以及操作系统信息
  3. ASP.NET管理状态的十种途径
  4. 数据库连接字在Web.config里的用法
  5. 吴恩达老师深度学习视频课笔记:卷积神经网络
  6. matlab内存管理(二)
  7. python开源商城_Leaf - 一个开发友好、功能完备的开源微信商城框架
  8. SQL基础学习总结:1(数据库)
  9. 文件系统演示C语言,基于C语言的简单文件系统的实现
  10. Java项目:仿天猫网上商城项目(java+jsp+servlet+mysql+ajax)