1. is only supported for sorted input in LINQ to Entities  The method :只支持排序输入实体LINQ 的方法

是使用skip()时没有排序时报的错误

2. Validation failed for one or more entities. 'See EntityValidationErrors' property for more details :验证失败的一个或多个实体。更多细节见“entityvalidationerrors”属性

修改数据字段的时候报的错误

2.1 关闭ef的实体检查

db.Configuration.ValidateOnSaveEnabled = false

2.2 查看entityvalidationerrors具体那个些字段没有通过

3. 当从数据库取出数据的时候对表中的数据项做扩张方法的时候,例如.ToString()报错。

错误代码:

          var data = from d in Db.Members
where d.ID == User_Id
select new
{
d.ID,
d.Status
};
var result = from r in data
select new
{
status = r.Status.Display()
};

修改后:

               var data = from d in Db.Members
where d.ID == User_Id
select new
{
d.ID,
d.Status
};
var result = from r in data.ToList()
select new
{
status = r.Status.Display()
};

刚取出数据的时候IQueryable<>的类型,把它转换成List();ToList()

4. An entity object cannot be referenced by multiple instances of IEntityChangeTracker:IEntityChangeTracker

单独使用DbContext对象操作

        using (var db = new Context.Create())
{
//把使用过的DbContext对象都释放掉
}

5. entity framework在使用一对一的关系,添加数据不报错,但是数据添加不进去

  错误的代码:

/**
* shop:是主表
* shopCertificate:是shop的从关系(外键)
* 直接new出外键不会报错,但也添加不了数据
* 表红的地方,进行外键绑定
* **/
using (var db = Context.Default)
{
var shop = new Shop()
{
Address = "qwe",
Banance = "asd",
Certificate = null,
City = "zxcf",
Description = "rty",
District = "fgh",
Logo = "vbn",
Memo = "uio",
Name = "jkl",
Provence = "nm",
Tax = 0.1m,
Status = ShopStatus.Abnormal,
Type = null
};
var shopCertificate = new ShopCertificate()
{
BankAccountName = "",
BankAccountNumber = "",
BankName = "",
BankNumber = "",
CompanName = "",
LegalPerson = "",
LegalPersonIDCardNumber = "",
LegalPersonIDCardPath = "",
LicenseNumber = "",
LicensePath = "",
Status = CompanyStatus.Abnormal,
Shop_Id = shop.ID,
TaxCertificateNumber = "",
TaxCertificatePath = "",
};
db.ShopCertificates.Add(shopCertificate);
db.Shops.Add(shop);
db.SaveChanges();
}

  正确的做法

            using (var db = Context.Default)
{
var shop = new Shop()
{
Address = "qwe",
Banance = "asd",
Certificate = null,
City = "zxcf",
Description = "rty",
District = "fgh",
Logo = "vbn",
Memo = "uio",
Name = "jkl",
Provence = "nm",
Tax = 0.1m,
Status = ShopStatus.Abnormal,
Type = null
};
//直接用shop的外键关系上再创建新的对象
//调试可以看到result值为2
shop.Certificate = new ShopCertificate()
{
BankAccountName = "",
BankAccountNumber = "",
BankName = "",
BankNumber = "",
CompanName = "",
LegalPerson = "",
LegalPersonIDCardNumber = "",
LegalPersonIDCardPath = "",
LicenseNumber = "",
LicensePath = "",
Status = CompanyStatus.Abnormal,
Shop_Id = shop.ID,
TaxCertificateNumber = "",
TaxCertificatePath = "",
};
db.Shops.Add(shop);
int result = db.SaveChanges();
}

EF 使用遇到过的错误记录备忘的更多相关文章

  1. [整理记录备忘]oracle数据库相关问题与解决

    检查死锁方式 用dba用户执行以下语句,可以查看到被死锁的语句. select sql_text from v$sql where hash_value in (select sql_hash_val ...

  2. pywin32记录备忘

    项目地址:http://sourceforge.net/projects/pywin32/ 文档地址:http://docs.activestate.com/activepython/2.7/pywi ...

  3. [整理记录备忘] CentOS 7 相关记录

    CentOS 7 命令行模式安装GNOME.KDE图形界面 一.进入 root 模式 因为权限限制,所以我们需要进入 root 模式,开机使用 root 登陆或者系统运行中切换为 root 用户均可. ...

  4. 微信APP支付整体流程记录备忘

      支付整体流程见文档:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_3   商户系统和微信支付系统主要交互说明:     步骤1: ...

  5. Yii ActiveRecord用法记录备忘

    ActiveRecord 使用方法 Example1 in查询 $criteria = new CDbCriteria(); $criteria->select = $select; $crit ...

  6. java+hadoop+spark+hbase+scala+kafka+zookeeper配置环境变量记录备忘

    java+hadoop+spark+hbase+scala 在/etc/profile 下面加上如下环境变量 export JAVA_HOME=/usr/java/jdk1.8.0_102 expor ...

  7. 增加几个entity framework 的函数 (记录备忘)[转]

    public static class DatabaseExtensions { public static DataTable SqlQueryForDataTatable(this Databas ...

  8. httpwebrequest 模拟登录 获取cookies 以前的代码,记录备忘!

    2个类,一个基类,一个构建头信息调用类 关于如何获取到post中的内容,你之需要用http抓包工具把你与目标网站的请求信息抓下来后,打开分析下按照抓下来的包中的数 据进行构建就行了 using Sys ...

  9. freePBX汉化方法记录——备忘

    FreePBX汉化[root@bgcc69:/var/www/html/admin/i18n/zh_CN/LC_MESSAGES]$pwd/var/www/html/admin/i18n/zh_CN/ ...

随机推荐

  1. 利用WIX制作安装包(3)

    原文 利用WIX制作安装包(3) 利用WIX安装服务非常简单.只需要短短几句话就可以.当我们创建好一个Windows服务之后.我们在项目中创建一个Service.wxs 文件来安装服务,并且编辑代码如 ...

  2. 图像滤镜艺术---Glow Filter发光滤镜

    原文:图像滤镜艺术---Glow Filter发光滤镜 Glow Filter发光滤镜 Glow Filter发光滤镜是一种让图像产生发光效果的滤镜,它的实现算法如下: 1,对原图P进行高斯模糊得到图 ...

  3. GIS基础软件及操作(二)

    原文 GIS基础软件及操作(二) 练习二.管理地理空间数据库 1.利用ArcCatalog 管理地理空间数据库 2.在ArcMap中编辑属性数据 第1步 启动 ArcCatalog 打开一个地理数据库 ...

  4. Qt中连接到同一signal的多个slots的执行顺序问题(现在是看连接顺序,以前是无序的)

    in the order they have been connected 起源 前些天忘记在哪儿讨论过这个问题,今天在csdn又看到有网友问这个问题,而其他网友却无一例外的给出了“无序”这个答案. ...

  5. DELPHI之关于String的内存分配(引)

    在函数.过程或者方法中定义一个字符串变量时,由于我们知道在函数.过程或者方法中定义的变量为局部变量,它的内存 是在栈中分配的,但是这里有个小细节我们要注意,对于一个局部的字符串变量,它的大小为4字节, ...

  6. SpringMVC与uploadify结合进行上传

    uploadify是一个第三方js插件,支持多文件上传,拥有较为强大的上传功能 1.uploadify实现 下载其flash版本 http://www.uploadify.com/  解压后将其内容区 ...

  7. 从此Redis是路人

    从此Redis是路人 序言:Redis(Remote DIctionary Server)作为一个开源/C实现/高性能/基于内存的key-value存储系统,相信做Java的小伙伴都不会陌生.Redi ...

  8. java方法中Collection集合的基本使用与方法

    集合类的由来,对象用于封闭特有数据,对象多了需要存储,如果对象的个数不确定就使用集合容器进行存储. 集合特点:1.用于存储对象的容器.2.集合的长度是可变的.3.集合中不可以存储基本数据类型值. 集合 ...

  9. DNS查询命令

    dig(domain information groper)是一个在类Unix命令行模式下查询DNS,包括NS记录,A记录,MX记录等相关信息的工具 一.简单介绍使用dig命令查询DNS的方法 dig ...

  10. 在C#中创建文件快捷方式

    创建快捷方式对于绝大多数 Windows 用户来说都是小菜一碟了,然而,这项工作却为程序员带来不少麻烦..NET 没有提供简便直接的创建快捷方式的方法,那么在 .NET 中我们如何为应用程序创建快捷方 ...