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

代码做网站常用单词/免费有效的推广平台

代码做网站常用单词,免费有效的推广平台,网站建设服务开发,电商运营团队结构图基本 EF 配置只要配置实体类和表、字段的对应关系、表间关联关系即可。 如何利用 EF的高级配置,达到更多效果:如果数据错误(比如字段不能为空、字符串超长等),会在 EF 层就会报错,而不会被提交给数据库服务…

  基本 EF 配置只要配置实体类和表、字段的对应关系、表间关联关系即可。

  如何利用 EF的高级配置,达到更多效果:如果数据错误(比如字段不能为空、字符串超长等),会在 EF 层就会报错,而不会被提交给数据库服务器再报错;如果使用自动生成数据库,也能帮助 EF 生成更完美的数据库表。这样的配置通过FluentAPI可以完成。

  尽 量 用 约 定 , EF 配 置 越 少 越 好 。

  1. 配置属性Length:

  Length用来描述数组的长度,当前包括string和Byte数组。

  默认约定:Code First对string或byte数组的默认长度约定是max。注意:Sql Server Compact中默认最大数组长度是4000。

  重写约定:使用HasMaxLength(nn),参数为可空整数。

Property(t => t.Name).HasMaxLength(50);

备注

如 果 插 入 一 个 Person 对 象 , Name 属 性 的 值 非 常 长 , 保 存 的 时 候 就 会 报DbEntityValidationException 异常,这个异常的 Message 中看不到详细的报错消息,要看EntityValidationErrors 属性的值。

var p = new Person();
p.Name = "非常长的字符串";
ctx.Persons.Add(p);
try
{ctx.SaveChanges();
}
catch(DbEntityValidationException ex)
{StringBuilder sb = new StringBuilder();foreach(var ve in     ex.EntityValidationErrors.SelectMany(eve=>eve.ValidationErrors)){sb.AppendLine(ve.PropertyName+":"+ve.ErrorMessage);}
Console.WriteLine(sb);
}    

  2. 配置DataType:

  Data Type表示将.NET类型映射到的数据库的数据类型。

  默认约定:列的数据类型由使用的数据库提供程序决定。以SQL Server为例: String->nvarchar(max),Integer->int,Byte[]->varbinary(max),Boolean->bit。

  3. 配置是否为空

  默认约定:主键属性不允许为空,引用类型(String,array)允许为空,值类型(所有的数字类型,Datetime,bool,char)不允许为空,可空的值类型Nullable<T>允许为空。

  重写约定:使用IsRequired()配置不允许为空,使用IsOptional()配置允许为空。

  this.Property(p => p.Name).IsRequired() 属性不能为空;

  this.Property(p => p.Name).IsOptional() 属性可以为空;

  基于“尽量少配置”的原则:如果属性是值类型并且允许为null,就声明成 long?等,否则声明成 long 等;如果属性属性值是引用类型,只有不允许为空的时候设置 IsRequired()。

  4. 不常用的属性

  a)  主键: this.HasKey(p => p.Id);

  b)  某个字段不参与映射数据库: this.Ignore(p => p.Name1);

  c)  this.Property(p => p.Name).IsFixedLength(); 配置属性固定长度;IsMaxLength(),配置属性为数据库提供程序允许的最大长度。

  d)  this.Property(p => p.Name).IsUnicode(false) 对应的数据库类型是 varchar 类型,而不是nvarchar

  e)  this.Property(p => p.Id).HasColumnName("Id"); Id 列对应数据库中名字为 Id 的字段

  f)  this.Property(p  =>p.Id).HasDatabaseGeneratedOption(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity) 指定字段是自动增长类型。

public UserConfig() {ToTable("T_Users");HasRequired(u => u.City).WithMany().HasForeignKey(u => u.CityId).WillCascadeOnDelete(false);Property(p => p.PasswordHash).IsRequired().HasMaxLength(100);Property(p => p.PasswordSalt).IsRequired().HasMaxLength(20);Property(p => p.PhoneNum).IsRequired().HasMaxLength(20).IsUnicode(false);}

 

 

转载于:https://www.cnblogs.com/cuijl/p/6737815.html

http://www.lbrq.cn/news/839359.html

相关文章:

  • 怎样做美瞳代购网站/百度推广天天打骚扰电话
  • 石家庄工程造价信息网/佛山百度关键词seo外包
  • 网站建设的规划和设计/企业qq怎么申请
  • 网站建设推广工作描述/百度宣传推广费用
  • 做网站打广告需要多少个服务器/搜索引擎优化面对哪些困境
  • 全世界做会展介绍的网站排名/黄山搜索引擎优化
  • 做公司门户网站的重点/百度推广官方电话
  • 新手如何做网站维护/沈阳seo团队
  • 公司网站建设小江网络工作室/大数据营销的概念
  • 设计门户网站/如何制作企业网站
  • 网站如何做品牌营销/seo网站结构优化
  • 外销网站建立/外链在线发布工具
  • 南京做网站软件/百度下载安装到桌面上
  • 企业建设企业网站的好处/托管竞价推广公司
  • 做购物网站小图标/小说排行榜
  • 小型视频网站建设/品牌宣传策划公司
  • 厦门网站建设首选厦门一联网络/手机网站搜索优化
  • 做外汇都看那些网站/线上直播营销策划方案
  • 摄影师网站制作/营销策划公司名称
  • 辽宁平台网站建设哪里好/市场调研问卷
  • 有没有做代理商的明细网站/北京十大营销策划公司
  • 网站优化计划书/bing搜索引擎下载
  • 怎么查域名是否被注册/什么是关键词排名优化
  • java怎么做直播网站/郑州百度推广公司
  • 三亚网红打卡景点/南宁seo优化
  • 城乡建设网站宁德/如何做好品牌推广工作
  • 信阳公司网站建设/西安网站快速排名提升
  • 天津开发区建网站公司/简述获得友情链接的途径
  • 注销网站 注销主体/中国十大网络销售公司
  • 开发小程序游戏需要多少钱/青岛seo
  • 【Lua】题目小练2
  • ota之.加密算法,mcu加密方式
  • yolo8+ASR+NLP+TTS(视觉语音助手)
  • 推客系统开发:从零构建高并发社交平台的技术实践
  • [Linux入门] Linux 账号和权限管理入门:从基础到实践
  • 华为敏态开发流程敏捷开发费用估算敏态IT财务分析模板