• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
混子程序员
博客园    首页    新随笔    联系   管理    订阅  订阅
fluent api相关基础知识记录

1、视图与实体映射:builder.ToView("blogsView");

2、排除属性映射:builder.Ignore(b=>b.Name2);

3、配置列名:builder.Property(b=>b.BlogId).HasColumnName("blog_id");//默认为BlogId属性名,后面也可以指定名称

4、配置列数据类型:builder.Property(e=>e.Title).HasColumnType("varchar(200)");

5、配置主键:默认把名字为Id或者“实体类型+Id”的属性作为主键,可以用HasKey()来配置其他属性作为主键。builder.HasKey(e=>e.Number);支持复合主键但是不建议使用。

6、生成列的值:builder.Property(b=>b.Number).ValueGeneratedOnAdd();

7、为属性设定默认值:builder.Property(b=>b.Age).HasDefaultValue(18);

8、索引:builder.HasIndex(b=>b.Url);

9、复合索引:builder.HasIndex(p=>new{p.FirstName,p.LastName});

10、唯一索引:IsUnique();

11、聚集索引:IsClustered();

 

***文档地址:https://docs.microsoft.com/zh-cn/ef/core/modeling/

 

使用EF Core太多高级特性的时候需要谨慎,尽量不要和业务逻辑混合在一起,以免造成项目结构代码混乱,比如Ignore,Shadow,Table Splitting等

 

posted on 2022-04-01 14:36  混子程序员ZMY  阅读(115)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3