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();

我們打開數據庫管理工具看下是否有創建數據庫以及新增數據

 

 

這樣幾步操作就完成了一個基本的例子,往后文章將介紹下一對一、一對多、多對多關系代碼如何編寫,以及數據庫遷移操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM