一、FluentAPI:

1、基本配置:

namespace ConsoleApp14.ModelConfig
{
public class PersonConfig: EntityTypeConfiguration<Person>
{
//继承自EntityTypeConfiguration,并将Person传进来
public PersonConfig()
{
this.ToTable("T_Persons");
}
}
}
   public class TestDbContext:DbContext
{
public TestDbContext():base("name=connstr")//name=connstr 表示使用连接字符串中名字为connstr的数据库
{ }
public DbSet<Person> Persons { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
//用法一:从本程序集中加载所有继承自EntityTypeConfiguration类的配置
modelBuilder.Configurations.AddFromAssembly(
Assembly.GetExecutingAssembly());
//用法二: 从指定的程序集中加载所有的继承自EntityTypeConfiguration类的配置
// modelBuilder.Configurations.AddFromAssembly(
// Assembly.Load("ModelConfig")); //用法三:
// modelBuilder.Entity<Person>().ToTable("T_Person");
//用法四:
// modelBuilder.Configurations.Add(new PersonConfig());
} }

二、EF增删查改:

获取Dbset除了可以ctx.Persons之外,还可以ctx.Set<Person>()

1、增加:ctx.Persons.Add(p1) ;  ctx.SaveChange();

2、删除:先查询出要删除的数据,然后Remove。这种方式问题最少,虽然性能低,但是删除操作一般不频繁,不用考虑性能。

            using (TestDbContext ctx = new TestDbContext())
{
var ps= ctx.Persons.Where(p => p.Id ==).SingleOrDefault(); if(ps==null)
{
Console.WriteLine("没有ID为3的人");
}
else
{
ctx.Persons.Remove(ps); //单个删除
}
}
               var ps= ctx.Persons.Where(p => p.Id >);

                ctx.Persons.RemoveRange(ps); //批量删除

3、改:先查询出来,然后修改数据,最后SaveChange()

4、查询:因为Dbset实现了IQueryable 接口,而IQueryable 继承了IEnumerable接口,所以可以使用Linq、Lambda操作。

EF调用Skip之前必须调用OrderBy,不然会报错

最新文章

  1. Android keycode列表
  2. js中的文本编辑器控件KindEditor---那些打酱油的日子
  3. WeX5学习笔记
  4. css3知识
  5. Linux下不同服务器间数据传输--转载
  6. ACM/ICPC 之 Bellman Ford练习题(ZOJ1791(POJ1613))
  7. iOS开发 cocoapods的安装以及使用
  8. 使用JS对form的内容验证失败后阻止提交 &amp;&amp;js校验表单后提交表单的三种方法总结
  9. 谈谈 React.js 的核心入门知识
  10. 使用C++名单在文档处理和学生成绩管理系统相结合
  11. Mac下安装cscope和ctags
  12. 让xcode8支持7.0的设备
  13. 对ajax回调函数的研究
  14. python实现博客自动刷点击脚本
  15. 性能测试四十八:Jenkins+Ant+Jmeter系统部署
  16. java基础语法2.
  17. CentOS 7.0关闭默认防火墙启用iptables防火墙
  18. Android设备管理器漏洞(转)
  19. awk 提取数字
  20. Windoows窗口程序七

热门文章

  1. python对表格的使用
  2. tensorflow pb ckpt pbtxt
  3. Rich feature hierarchies for accurate object detection and semantic segmentation(RCNN)
  4. 协议:Http Https TCP/IP
  5. Spring整合JUnit spring静态对象属性的注入
  6. iso十款常用类库
  7. RPC框架基础概念理解以及使用初体验
  8. Apache+Tomcat+jk windows环境下的集群部署
  9. Java OOP——第五章 异常
  10. Python中的文件和目录操作实现