zoukankan      html  css  js  c++  java
  • EF框架使用

    1.安装对应Nuget包。

    (1)MySql.Data包

    (2)Entity Framework包。

    2.创建对应的数据模型。

    注意:数据模型属性要一一对应。可以使用Column和Table特性标记在表中的名称。

    一定要一一对应。

    3.配置文件要正确。

    今天使用EF遇到两个异常:

    1.System.Data.SqlTypes.SqlNullValueException:“数据为空。不能对 Null 值调用此方法或属性。”

    解决方案:这个使用情景是在 context.Values.ToList(); 异常的原因是在数据库有字段DateTime类型,有一行Date列值为空,即DbNull,

    所以EF查询时,应该是在转换过程中出现问题,不能将DbNull转化为DateTime类型。这个可以在数据模型加处理,或者数据库保证值能正确转换为日期。

    2.System.Data.Entity.Core.OptimisticConcurrencyException:“Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager entries.”

    这个错误解决:原因是没有为模型设置Key,然后自增的主键也没有设置对用的Attribute。

    在主键上加两个特性:

    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    [Key]

    public string userId{set;get;}

    //做了做实验,关键是要加主键特性,加了[key]就正常了,另一个倒是没影响。

  • 相关阅读:
    什么是 Spring Boot?
    Spring Cloud Gateway?
    什么是 Netflix Feign?它的优点是什么?
    SpringBoot和SpringCloud的区别?
    什么是Hystrix?
    什么是Spring Cloud Bus?
    什么是Ribbon?
    eureka自我保护机制是什么?
    spring cloud 和dubbo区别?
    如何在 Spring Boot 中禁用 Actuator 端点安全性?
  • 原文地址:https://www.cnblogs.com/lbzhu/p/8023118.html
Copyright © 2011-2022 走看看