EntityFramework之创建数据库及基本操作(一)

那时学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();

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

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

 
 
 
原文地址:https://www.cnblogs.com/caoyc/p/5821639.html