当前位置: 首页 > news >正文

石家庄站到正定机场一个app费用多少钱

石家庄站到正定机场,一个app费用多少钱,白云区建材网站建设推广,衡水网站建设费用目录 约定配置 主要规则 两种配置方式 Data Annotation Fluent API Fluent API配置 Fluent API众多方法 选择 约定配置 主要规则 表名采用DbContext中的对应的DbSet的属性名。数据表列的名字采用实体类属性的名字,列的数据类型采用和实体类属性类型最兼容…

目录

约定配置

主要规则 

两种配置方式

Data Annotation

Fluent API

Fluent API配置

Fluent API众多方法

选择


约定配置

主要规则 

  1. 表名采用DbContext中的对应的DbSet的属性名。
  2. 数据表列的名字采用实体类属性的名字,列的数据类型采用和实体类属性类型最兼容的类型。
  3. 数据表列的可空性取决于对应实体类属性的可空性。
  4. 名字为Id的属性为主键,如果主键为short, int 或者 long类型,则默认采用自增字段,如果主键为Guid类型,则默认采用默认的Guid生成机制生成主键值。

两种配置方式

Data Annotation

把配置以特性(Annotation)的形式标注在实体类中。

优点:简单;缺点:耦合。

[Table("T_Books")]
public class Book
{
}
Fluent API

把配置写到单独的配置类中。
缺点:复杂;优点:解耦。

builder.ToTable("T_Books");
Fluent API配置
  1. 视图与实体类映射:
    modelBuilder.Entity<Blog>().ToView("blogsView");
  2. 排除属性映射:
    modelBuilder.Entity<Blog>().Ignore(b => b. Name2);
  3. 配置列名:
    modelBuilder.Entity<Blog>().Property(b=>b.BlogId).HasColumnName("blog_id");
  4. 配置列数据类型:
    builder.Property(e => e.Title) .HasColumnType("varchar(200)")
  5. 配置主键:
    默认把名字为Id或者“实体类型+Id“的属性作为主键,可以用HasKey()来配置其他属性作为主键。modelBuilder.Entity<Student>().HasKey(c => c.Number);支持复合主键,但是不建议使用。
  6. 生成列的值:
    modelBuilder.Entity<Student>().Property(b => b.Number).ValueGeneratedOnAdd();
  7. 设置默认值:
    modelBuilder.Entity<Student>().Property(b => b.Age).HasDefaultValue(6);
  8. 索引:
    modelBuilder.Entity<Blog>().HasIndex(b => b.Url);
  9. 复合索引:
    modelBuilder.Entity<Person>().HasIndex(p => new { p.FirstName, p.LastName });
  10. 唯一索引:IsUnique();聚集索引:IsClustered()
  11. 用EF Core太多高级特性的时候谨慎,尽量不要和业务逻辑混合在一起,以免“不能自拔”。比如Ignore、Shadow、Table Splitting等……
Fluent API众多方法

Fluent API中很多方法都有多个重载方法。比如HasIndex、Property()。
把Number属性定义为索引,下面两种方法都可以:

builder.HasIndex("Number");
builder.HasIndex(b=>b.Number);

推荐使用HasIndex(b=>b.Number)、Property(b => b.Number)这样的写法,因为这样利用的是C#的强类型检查机制

选择
  1.  Data Annotation 、Fluent API大部分功能重叠。可以混用,但是不建议混用。
  2. 有人建议混用,即用了Data Annotation 的简单,又用到Fluent API的强大,而且实体类上标注的[MaxLength(50)]、[Required]等标注可以被ASP.NET Core中的验证框架等复用。
http://www.yayakq.cn/news/924179/

相关文章:

  • 深圳各大网站制作哪家公司好东莞市网络营销广告公司
  • 便宜模板网站建设做网站辛苦吗
  • 电子商城建设网站手机制作海报的软件免费
  • 我想自己在网站上发文章 怎样做网站建设合同管辖地
  • 网站改版新闻稿网页打包成apk
  • 洛阳高新区做网站公司网站开发工程师是什么意思
  • 网站建设费用申请西安网站优化培训
  • 培睿网站开发与设计ui设计自学网站推荐
  • 网站建立与推广做行业网站赚钱吗
  • 一个完整的网站设计手机代理ip免费
  • 单位网站建设费算无形资产吗用照片做视频的模板下载网站
  • 做课件用这15大网站哪家网站建设比较好
  • 收费网站必须备案吗软件下载免费大全网站
  • 做企业网站比较好的公司天津网站开发公司电话
  • 嘉兴网站seo公司做企业网站
  • 做二维码推送网站网站建立不安全怎么设置通过
  • 报价网站建设嵌入式开发工程师是干嘛的
  • 南京 外贸网站建设西安直播室网站建设
  • 网站描文本网站的功能有哪些
  • dnf怎么做辅助网站哪里有制作网站服务
  • 中企动力优秀网站wordpress搭建的博客
  • 做国际网站怎么能快速打开居民瑞app下载
  • 如皋市建设局网站在哪软件开发公司流程
  • 网站空间登录北京 建设官方网站
  • 专注聊城做网站的公司淄博桓台学校网站建设方案
  • 企业网站建设需了解什么网站 备案 初审
  • 企业网站托管排版设计制作爱站关键词
  • html毕业设计题目大全网站视觉优化的意义
  • 一套网站设计多少钱wordpress 菜单栏高亮
  • 建设网站需要租赁主机吗电子商务网站项目计划