efcore 实体配置_EF6&EFCore 注册/使用实体类的正确姿势

首先回顾下EF中常规使用流程

1.新建实体类以及实体配置(data annotation或fluent api)

[Table("Users")]public classUsers

{

[Key]public Guid Id { get; set; }

[StringLength(10)]public string Name { get; set; }

}

2.新建数据库上下文类MyDbContext

1 public classMyDbContext : DbContext2 {3 publicMyDbContext() { }4

5 public DbSet Users { get; set; }6

7 protected override voidOnConfiguring(DbContextOptionsBuilder optionsBuilder)8 {9 optionsBuilder.UseSqlServer("connectionString");10 }11

12 protected override voidOnModelCreating(ModelBuilder modelBuilder)13 {14 base.OnModelCreating(modelBuilder);15 }16 }

3.开始欢乐的操作Users

using (MyDbContext context = newMyDbContext())

{

context.Users.FirstOrDefaultAsync(r=> r.Name == "老王");

}

一切看起来都是很美好的,但假如有一天你面对上千个实体的时候,你可能会开始想用代码生成器.EF6中你还可以用modelBuilder.RegisterEntityType(type);那么现在又有一个新的要求,需要能同时使用data annotation和fluent api进行实体配置.自动根据约定注册实体,自动注册fluent api配置类.EF中注册实体的本质就是注册DbSet,方法非常多.

ok,直接贴代码,EF6:

///

///注册某个程序集中所有的非抽象实体子类///

/// 实体基类

///

/// 注册程序集

public static void R

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值