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. 【摘抄】C# DateTime.Now详解

    //2008年4月24日 System.DateTime.Now.ToString("D"); //2008-4-24 System.DateTime.Now.ToString(& ...

  2. 梧桐那时雨http://blog.csdn.net/fuchaosz/article/details/51882935?readlog

    Ubuntu 16.04 一系列软件安装命令,包括QQ.搜狗.Chrome.vlc.网易云音乐安装方法 原创 2016年07月20日 11:44:01 标签: ubuntu 27024 1 简介 Ub ...

  3. 经典面试编程题--atoi()函数的实现(就是模拟手算,核心代码就一句total = 10 * total + (c - '0'); 但是要注意正负号、溢出等问题)

    一.功能简介 把一个字符串转换成整数 二.linux c库函数实现 /*** *long atol(char *nptr) - Convert string to long * *Purpose: * ...

  4. QSS 盒子模型

    每个 Widget 所在的范围都是一个矩形区域(无规则窗口也是一个矩形,只是有的地方是透明的,看上去不是一个矩形),像是一个盒子一样.QSS 支持盒子模型(Box Model),和 CSS 的盒子模型 ...

  5. .NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现

    原文:.NET环境下有关打印页面设置.打印机设置.打印预览对话框的实现 我个人认为,开发MIS,首先就得解决网格的问题,而开发工具为我们提供了如DataGrid.MSHFlexGrid的控件.其次,是 ...

  6. Windows实用小工具-问题步骤记录器

    今晚给大家介绍个实用的好工具,可以做简单的问题记录,再也不用截图加注释这么辛苦了····· 经测试,这东东在win7,2008 及2008R2里适用,也就是说,在win7以上的系统中才有.好了,下面直 ...

  7. UWP入门(六)-- ResourceDictionary 和 XAML 资源引用

    原文:UWP入门(六)-- ResourceDictionary 和 XAML 资源引用 你最希望声明为 XAML 资源的 XAML 元素包括 Style.ControlTemplate.动画组件和 ...

  8. mysql 的用户权限

    查看MySQL的用户权限 show grants for "username"@'host'; 添加新用户 允许本地IP访问localhost:127.0.0.1 use mysq ...

  9. 中国2017 Google 开发者大会第一天简单回顾

    昨天有幸参加了中国2017 Google 开发者大会,在这第一天就收获满满,昨天太忙了,今天早晨来一起简单回顾一下,可以让没有参加的童鞋们感受一下现场的温度. 早早就来到了会议现场,外面看不出什么特别 ...

  10. c#基于Tablet pc实现的手写输入

    需要安装Tablet pc,win7的话 直接在控制面板>程序和应用>添加组建里面勾选上添加 然后就是下面的程序了,看代码 设计文件 namespace 手写识别 { partial cl ...