EntityFramework 5.0 CodeFirst 教程03-数据结构的定义/列的属性
---------------------目录--------------------------
EntityFramework 5.0 CodeFirst 教程03-数据结构的定义/列的属性 (2015-07-22 17:30)
EntityFramework 5.0 CodeFirst 教程02-删除和修改/架构改变异常的处理 (2015-07-14 17:50)
EntityFramework 5.0 CodeFirst 教程01-搭建环境和快速上手 (2015-07-13 10:48)
---------------------目录--------------------------
首先感谢大家的支持,最近比较忙,不过会抽时间讲完Code First的 谢谢大家的支持 想更多的学习资源,可以访问我的主页的,谢谢
这集我们来学习定义一个数据结构,首先看一下.NET类型和SQL类型的对应表,左侧是sql类型,右侧是.NET类型

public class Person
{
public int PersonId { get; set; }
[MaxLength()]
public string FirstName { get; set; }
[MaxLength()]
public string LastName { get; set; }
[StringLength(, MinimumLength = )]
[Column(TypeName = "char")]
public string MiddleName { get; set; }
}
[Column(TypeName = "char")] 表示该列属性是一个char类型
static void Main(string[] args)
{
//更多资料可以登录本人的主页:www.bamn.cn 欢迎大家
using (var personContext = new Context())
{
//如果不存在数据库则创建
bool res = personContext.Database.CreateIfNotExists();
//往数据库中添加数据
var person = new Person
{
FirstName = "John",
LastName = "Doe",
MiddleName = "Mid"
};
personContext.People.Add(person);
personContext.SaveChanges();
//获取数据
var savedPeople = personContext.People;
foreach (var p in savedPeople)
{
Console.WriteLine("Last name:{0},first name:{1},id {2},mid={3}",
p.LastName, p.FirstName, p.PersonId,p.MiddleName);
}
} Console.ReadKey();
}



[MaxLength(, ErrorMessage = "你的名超过了30个字节")]
public string FirstName { get; set; }
class Program
{
static void Main(string[] args)
{
//更多资料可以登录本人的主页:www.bamn.cn 欢迎大家
using (var personContext = new Context())
{
//如果不存在数据库则创建
bool res = personContext.Database.CreateIfNotExists();
//往数据库中添加数据
var person = new Person
{
FirstName = "John",
LastName = "Doe",
MiddleName = "M"
};
personContext.People.Add(person);
personContext.SaveChanges();
//获取数据
var savedPeople = personContext.People;
foreach (var p in savedPeople)
{
Console.WriteLine("Last name:{0},first name:{1},id {2},mid={3}",
p.LastName, p.FirstName, p.PersonId,p.MiddleName);
}
} Console.ReadKey();
}
}
public class Person
{
public int PersonId { get; set; }
[MaxLength(, ErrorMessage = "你的名超过了30个字节")]
public string FirstName { get; set; }
[MaxLength()]
public string LastName { get; set; }
[StringLength(, MinimumLength = )]
[Column(TypeName = "char")]
public string MiddleName { get; set; }
}
public class Context : DbContext
{
public Context()
: base("name=chapter2")
{
}
public DbSet<Person> People { get; set; }
}
EntityFramework 5.0 CodeFirst 教程03-数据结构的定义/列的属性的更多相关文章
- EntityFramework 5.0 CodeFirst 教程02-删除和修改/架构改变异常的处理
-----------------------------------------------------目录--------------------------------------------- ...
- EntityFramework 5.0 CodeFirst 教程04-查询,插入,更新,和删除数据
---------------------目录-------------------------- EntityFramework 5.0 CodeFirst 教程04-查询,插入,更新,和删除数据 ...
- EntityFramework 5.0 CodeFirst 教程01-搭建环境和快速上手
----------------------------目录------------------------------ EntityFramework 5.0 CodeFirst 教程03-数据结构 ...
- WCF入门教程(三)定义服务协定--属性标签
WCF入门教程(三)定义服务协定--属性标签 属性标签,成为定义协议的主要方式.先将最简单的标签进行简单介绍,以了解他们的功能以及使用规则. 服务协定标识,标识哪些接口是服务协定,哪些操作时服务协定的 ...
- Greenplum5.16.0 安装教程
Greenplum5.16.0 安装教程 一.环境说明 1.1官方网站 Greenplum官方安装说明:https://gpdb.docs.pivotal.io/5160/install_guide/ ...
- 一步步Cobol 400 上手自学入门教程03 - 数据部
数据部的作用 程序中涉及到的全部数据(输入.输出.中间)都要在此定义,对它们的属性进行说明.主要描述以下属性: 数据类型(数值/字符)和存储形式(长度) 数据项之间的关系(层次和层号) 文件与记录的关 ...
- [译]Vulkan教程(03)开发环境
[译]Vulkan教程(03)开发环境 这是我翻译(https://vulkan-tutorial.com)上的Vulkan教程的第3篇. In this chapter we'll set up y ...
- 【读书笔记】关于《精通C#(第6版)》与《C#5.0图解教程》中的一点矛盾的地方
志铭-2020年2月8日 03:32:03 先说明,这是一个旧问题,很久很久以前大家就讨论了, 哈哈哈,而且先声明这是一个很无聊的问题,
- EntityFramework 7.0之初探【基于VS 2015】(十)
前言 本篇作为EF 7.0的开篇也是Entity Framework目前系列末篇,因为关于EF 7.0学习资料实在是太少,我都是参考老外的资料花费了不少时间去研究去尝试同时也失败多次,个人觉得那是值得 ...
随机推荐
- C++ assert 断言使用
在研究corepattern需要让程序出core, 因此用到的assert, 记录一下. 写严谨代码时,也可以使用assert进行严格的条件判断. 函数原型: #include <asser ...
- Linux中如何查看文件夹的大小
直接查看当前文件夹的大小: du –sh 只看文件夹的名字里包含某字符串的子文件夹的大小: du –h –d 1 | grep "BACKEND" 我的linux系统被阉割的比较厉 ...
- .Net(c#)打印--多页打印
如果要实现多页打印,就要使用PrintPageEventArgs类的HasMorePages属性. 我们对之前的代码作如下变更: 增加PrintDocument的BeginPrint和End ...
- iOS开发-策略模式
策略(Strategy)模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它的客户而独立变化.策略模式是对算法的包装,是把使用算法的责任和算法本身分割开 ...
- 异常捕获 UncaughtExceptionHandler MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- JAVA中如何将一个json形式的字符串转为json对象或对象列表
import java.util.*; import java.text.SimpleDateFormat; import org.json.JSONObject; import org.json.J ...
- RNN(Recurrent Neural Networks)公式推导和实现
RNN(Recurrent Neural Networks)公式推导和实现 http://x-algo.cn/index.php/2016/04/25/rnn-recurrent-neural-net ...
- OpenGL ES 3.0 and libGLESv2
note that libGLESv2 is the recommended Khronos naming convention for the OpenGL ES 3.0 library. This ...
- Emeditor V14注册码
Emeditor V14注册码 姓 名:ttrar.com 序 列 号:DKAZQ-R9TYP-5SM2A-9Z8KD-3E2RK
- C# 源码 AForge.NET
AForge.NET是一个专门为开发者和研究者基于C#框架设计的,他包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,模糊系统,机器人控制等领域.这个框架由一系列的类库组成.主要包括有 ...