许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  EFCore-3 Fluent API实战指南

EFCore-3 Fluent API实战指南

阅读数 1812
点赞 69
article_banner

约定配置

主要规则:

1:表名采用DbContext中对应的DbSet的属性名。


2.数据表列的名称采用实体类属性的名字,列的数据类型采用和实体类属性类型最兼容的类型。



3.数据表列的可空性取决于对应实体类属性的可空性。


4.名字为Id的属性为主键,如果主键为short,int 或者long类型,则默认采用自增字段,如果主键为Guid类型,则默认采用默认的Guid生成机制生成主键值。(SqlServer数据库)




两种配置方式

1.FluentAPI

上图中的配置方法属于FluentAPI的写法,也就是把配置写道单独的配置类中。

缺点:复杂(需要单独为实体类写一个配置类)

优点:解耦(实体类中只需要定义字段内容)


2.Data Annotation


上图中的配置方法属于Data Annotation的写法,把配置以特性(Annotation)的形式标注在实体类中。

缺点:耦合(实体类中就定义了字段的约束,使该实体负有过多的使命)

优点:简单(无需为实体类再创建其他的配置类)


项目中建议统一使用FluentAPI的形式完成对实体类的配置



FluentAPI的更多用法:

1.排除属性映射

通过调用Ignore方法,参数传入字段名称,在数据库生成字段的时候就不会生成该字段。

可以看到在数据库的表中没有生成Test2字段。


2.配置列名或列类型

自定义字段的名称和类型(这里也可以定义长度),可以与实体不同。下面是数据库中的效果:

3.配置主键

如果不特殊配置,EFCore默认把Id或者“实体类型+Id”的属性作为主键,可以用HasKey()来配置其他属性作为主键。


数据库效果:

4.可以使用HasDefaultValue为属性设置默认值


5.索引

主键索引、普通索引、复合索引



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...

相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空