EF学习之DBFirst
以vs2012为例;首先新建一个控制台应用程序,然后添加ADO.NET 实体数据模型。 名字默认就行,选择从数据库生成。
项目建成以后,在项目中会自动引用三个程序集,EntityFramework,System.Data.Entity,System.Runtime.Serialization。
还有相应的 MOdel1.edmx, Model1.context.cs ,Model1.tt模板
先来个增删改查的基本操作。
1 ////声明 一个EF上下文 2 3 //ReportServerTempDBEntities dbcontext = new ReportServerTempDBEntities(); 4 5 //// 添加一个ChunkSegmentMapping 实体 6 7 //ChunkSegmentMapping chunk = new ChunkSegmentMapping(); 8 //chunk.ActualByteCount = 1; 9 //chunk.ChunkId = Guid.NewGuid(); 10 //chunk.LogicalByteCount = 100; 11 //chunk.SegmentId =Guid.NewGuid(); 12 //chunk.StartByte = 1; 13 14 ////告诉EF我们要的操作 15 //dbcontext.ChunkSegmentMapping.Add(chunk); 16 17 //// 告诉EF把实体的变化保存到数据库 18 //dbcontext.SaveChanges(); 19 20 //======================================修改操作======================== 21 22 ReportServerTempDBEntities dbcontext = new ReportServerTempDBEntities(); 23 24 ChunkSegmentMapping chunk = new ChunkSegmentMapping(); 25 chunk.ActualByteCount = 888; 26 chunk.ChunkId = Guid.NewGuid(); 27 chunk.LogicalByteCount = 9999; 28 chunk.SegmentId = Guid.NewGuid(); 29 chunk.StartByte = 22; 30 chunk.ID = 1; 31 32 dbcontext.Entry<ChunkSegmentMapping>(chunk).State = EntityState.Modified; 33 //修改某一列; 34 // dbcontext.Entry<ChunkSegmentMapping>(chunk).Property<int>(u => u.LogicalByteCount).IsModified = true 35 ; 36 dbcontext.SaveChanges();
基本的增删改就这些、