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

学校网站建设与管理徐州英才网最新招聘信息

学校网站建设与管理,徐州英才网最新招聘信息,seo价格是多少,云南网站设计多少钱目录 约定配置 主要规则 两种配置方式 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/505043/

相关文章:

  • 做网站还有市场吗手机软件用什么开发
  • 网站建设禁止谷歌收录的办法长春网站建设哪家公司好
  • 东莞网站建设17ps做的图怎么做成网站前端
  • 哪个网站可以做公众号封面网站建设招商
  • 如何做公司企业网站乐清市重大新闻
  • 做茶歇的网站庆阳网站优化公司
  • 网站建设规划设计报告支付网站建设的分录
  • 男生和男生做污的视频网站wordpress sae 插件
  • 凡科免费建站平台深圳免费网站建设
  • 郑州注册公司网站哪个网站可以做旅行攻略
  • 青海旅游的网站建设珠海市工程造价信息网
  • 开展建设文明网站活动教育品牌网站建设
  • 济南网站建设 找小七廊坊网络
  • 打码兔怎么和网站做接口网站建设费支付请示
  • 天津建设项目招投标网站别人怎么看见我做的网站
  • 网站建设实施文档ai国外教程网站
  • 做网站报价表网站搭建介绍
  • 贵州省建设厅考证官方网站i深圳网站建设
  • 江门网站制作维护如何做图片 网站 链接
  • joomla网站模板昆明网站建设哪家比较好
  • 建设什么网站可以赚钱成立网站公司需要什么
  • 嘉兴网站开发与制作保险查询平台
  • 网站导航包括上海企业网站建设费用
  • 怎么做网站链接广告温州平台公司
  • 电商网站制作成手机app平面设计培训学校推荐
  • 手机网站用什么软件做的好处织梦网站关掉wap
  • 网站收录图片用Python做网站如何配置域名
  • 怎么找到域名做的那个网站招标网站大全
  • 成都网站建设常凡云青岛建设官方网站
  • 刚做的网站搜索不到适合seo优化的网站制作