深入了解EntityFramework——数据注解属性

当惯例规则不符合设计需求时,我们可以使用数据注解配置打造更合适的数据库模型。本文根据示例项目对常用的数据注解属性做一个简要的举例说明。

EFCodeFirst使用的约定大于配置的的编程模式, 这种模式利用默认约定根据我们的领域模型建立概念模型。然我们可以用配置领域来覆盖默认约定。覆盖默认约定主要有两种手段:

1、数据注解属性

2、FluentAPI

常用的数据注解属性
Key 数据库中对应为主键
TimeStamp 数据库中对应类型为timestamp类型,主要用于解决高并发问题。注:一个类只能用一次,且修饰的属性必须为byte[]类型
ConcurrencyCheck 数据库中对应列为进行乐观并发检测,主要用于检测高并发问题
Required 属性不能为空,数据库中对应列不能空
MinLength/MaxLength 属性和数据库中最大和最小String长度


 

架构属性
Schema 配置实体对应的数据库架构名
Table 配置实体类对应的表名
Column 用于配置实体类中的属性,配置属性对应的数据库列名,顺序和数据类型
ForeignKey 用于属性,指定属性为一个外键
NotMapped 用于实体或者属性,不在数据库中生成映射
DataBas
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Entity Framework 可以实现多数据上传,可以通过以下步骤实现: 1. 创建一个包含所有数据上传的实体类。 2. 实现一个上传数据的方法,使用 Entity Framework 进行数据保存。 3. 在上传数据的方法中,使用事务来确保数据的完整性。 4. 在上传数据的方法中,使用 DbContext 类的实例来操作数据库。 5. 在上传数据的方法中,使用 DbSet 类的实例来操作特定的实体。 6. 在上传数据的方法中,使用 LINQ 查询语言来操作数据。 例如,以下代码展示了如何在 Entity Framework 中实现多数据上传: ``` public void UploadData(List<MyEntity> entities) { using (var context = new MyDbContext()) { using (var transaction = context.Database.BeginTransaction()) { try { foreach (var entity in entities) { context.MyEntities.Add(entity); } context.SaveChanges(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } } ``` 在这个示例中,我们创建了一个名为 MyEntity 的实体类,并实现了一个 UploadData 方法,该方法接受一个 MyEntity 类型的表作为参数。在方法中,我们使用 Entity Framework 的 DbContext 类的实例来打开数据库连接,并使用 MyDbContext 类来操作数据库。我们还使用事务来确保数据的完整性,如果在上传数据的过程中发生任何错误,我们将回滚事务。最后,我们使用 SaveChanges() 方法来保存所有更改,并使用 Commit() 方法提交事务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值