EntityFramework之使用Code First创建数据及基本操作(一)

那时学EF的时候还没有Code First,只有DB First,生成的是一个EDMX文件,Code First则没有这文件,下面直接上代码吧

数据库创建以及建表

1、首先我们新建一个新项目,使用Nuget搜索EntityFramework,如果想找到对应的中文包,可以搜索EntityFramework.zh-Hans即可。

本人是话是直接搜索EntityFramework.zh-Hans,这样会自动把中文包和类库一起安装,比较方便。

2、接着建model实体

1     public class Product
2     {
3         public int Id { get; set; }
4         public string Name { get; set; }
5         public string Description { get; set; }
6     }

3、创建一个EntityContext并继承自DbContext

 1     public class EntityContext : DbContext
 2     {
 3         public EntityContext()
 4             : base("name=DBConnectionString")
 5         {
 6
 7         }
 8
 9         public DbSet<Product> Product { get; set; }
10
11         protected override void OnModelCreating(DbModelBuilder modelBuilder)
12         {
13             //不使用modelBuilder.Configurations.AddFromAssembly方法则需要逐个添加,如果数量多的话比较麻烦
14             //modelBuilder.Configurations.Add(new OneToMany.Map.ProductMap());
15             //此方法可以将当前程序集下所有继承了ComplexTypeConfiguration、EntityTypeConfiguration类型的类添加到注册器
16             modelBuilder.Configurations.AddFromAssembly(Assembly.GetExecutingAssembly());
17             base.OnModelCreating(modelBuilder);
18         }
19     }

4、在web.config文件中添加数据库连接字符串

1 <connectionStrings>
2     <add name="DBConnectionString" connectionString="Data Source=.;Initial Catalog=BasicOpt;Integrated Security=true" providerName="System.Data.SqlClient" />
3 </connectionStrings>

5、接着创建实体映射

 1     public class ProductMap : EntityTypeConfiguration<Product>
 2     {
 3         public ProductMap()
 4         {
 5             ToTable("Product"); //指定表明
 6             HasKey(p => p.Id);  //指定主键
 7             //指定Name字段在数据库中列名为DBName、长度500、非空,其他的话可以自己试下
 8             Property(p => p.Name).HasColumnName("DBName").HasMaxLength(500).IsRequired();
 9         }
10     }

6、我们写一个新增实体的操作,让Code First生成数据库

1     EntityContext db = new EntityContext();
2     var product = new Models.Product() { Name = "电磁炉", Description = "电器" };
3     db.Set<Product>().Add(product);
4     db.SaveChanges();

我们打开数据库管理工具看下是否有创建数据库以及新增数据

这样几步操作就完成了一个基本的例子,往后文章将介绍下一对一、一对多、多对多关系代码如何编写,以及数据库迁移操作。

时间: 2024-11-05 23:23:04

EntityFramework之使用Code First创建数据及基本操作(一)的相关文章

EF 中 Code First 的数据迁移以及创建视图

写在前面: EF 中 Code First 的数据迁移网上有很多资料,我这份并没什么特别.Code First 创建视图网上也有很多资料,但好像很麻烦,而且亲测好像是无效的方法(可能是我太笨,没搞成功),我摸索出了一种简单有效的方法,这里分享给大家. EF是Entity Framework(实体框架)的简写,是微软出品的用来操作数据库的一个框架,会ASP.NET MVC的朋友对他肯定都不陌生.由于学艺不精,我对EF存在一疑虑,就不以[提问]的方式来问了,我以[总结]的方式来表达,如果总结有误的地

创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表

创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添加一个User类: namespace MyFirstApp.Models { public class User { public int ID { get; set; } public string Name { get; set; } public string Email { get; se

EntityFramework Reverse POCO Code First 生成器

功能强大的(免费)实体框架工具 Julie Lerman 实体框架是开源的,因此开发社区可以在 entityframework.codeplex.com 上共享代码. 但是不要将自己局限在那里寻找工具和扩展. 还有其他一些不错的商业和社区驱动的工具,它们能帮助您使用实体框架取得更大成就. 在本专栏中,我想强调一些来自社区的工具和扩展. 它们是可通过 Visual Studio 库获得的免费 IDE 扩展,或可通过 NuGet 获得的免费代码库. 甚至有一些来自特别项目和官方位外部的实体框架团队的

ThinkPHP 自动创建数据、自动验证、自动完成详细例子介绍(十九)

原文:ThinkPHP 自动创建数据.自动验证.自动完成详细例子介绍(十九) 1:自动创建数据 //$name=$_POST['name']; //$password=$_POST['password'];  ---这个注册页面传过来的POST值 下面用了自动穿件create方法就可以不用这个,会行动绑定 $user =M('User'); $User->create();   //会将传过来的$_POST数据对应到数据库的字段 $user->add();   //就可以直接写入 2:自动验证

EF Code First之数据迁移

1. Enable-Migrations -ContextTypeName MvcMovie.Models.MovieDBContext 2. add-migration Initial //Initial”是随意命名的,它用来命名创建好的迁移文件. 3. update-database EF Code First之数据迁移

oracle的学习 第二节:创建数据表

学习内容: A.创建数据库和表空间 B.创建用户和分配权限 C.创建数据表 一.创建数据库和表空间 (一)SQL语言的基本概念 1.概念 高级的结构化查询语言:沟通数据库服务器和客户的重要桥梁. PL/sql语言是结构化的查询语言. 2.分类: 数据定义语言  :create  alter  drop 数据操作语言: insert update delete 数据控制语言:select (二)创建数据库的两种方式 方式一:图形界面: 方式二:create  Datebase命令方法.(常用) 具

微软-创建数据访问层

简介 https://msdn.microsoft.com/zh-cn/cc964016 作为web 开发人员,我们的工作总是在和数据打交道.我们创建数据库来存储数据,编写代码来检索并修改数据,并创建Web 页面来收集和汇总数据.这是探讨在ASP.NET 2.0 中实现这些常用类型的技巧的系列教程中的首篇教程.我们从创建一个 软件架构 开始,包括使用Typed DataSet 的数据访问层(DAL) .实现自定义业务规则的业务逻辑层(BLL) 和共享同一页面布局的ASP.NET 页面组成的表示层

[ruby on rails] 跟我学之创建数据

通过form来创建数据,本章节将会涉及内容:创建form,用户重导向,渲染views 和 flash消息. 1. views初步 编辑 app/views/posts/index.html.erb这个view文件,如下: <% @posts.each do |post| %> <h2><%=link_to post.title,post%></h2> <%=post.context%><br/><hr/> <% en

vsphere6.5 创建数据中心、集群和添加主机

1.新建数据中心,在入门页面选择创建数据中心,名称可以自定义. 2.创建完成数据中心后就可以添加主机和创建集群了. 3.新建一个集群,并打开DRS和HA功能,这两个功能的一些其他选项可以在创建完成后进一步设置,关于EVC功能,这里选择禁用,因为所有主机是同一型号的DELL服务器CPU型号相同.VSAN功能因为硬件不满足暂时也不开启. 3.创建完集群后再添加主机,我的顺序是按照虚拟化的结构进行的. 4.输入要添加至VCenter Server的主机IP地址或域名. 5.输入主机的账号和密码 6.选