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++的中英文字符串表示(string,wstring),使用wcout.imbue(std::locale("chs"));本地化解析编码

    在C++中字符串类的string的模板原型是basic_string template <class _Elem, class traits = char_traits<_Elem> ...

  2. 使用tratto进行CISCO网络设备的管理

    测试环境: CSR1000V CentOS7.4 X64 Step 1:在CentOS7上安装python 3.0环境 [root@docker ~]# python3 -VPython 3.7.0[ ...

  3. 零元学Expression Blend 4 - Chapter 34 啊~!!我不要毛毛的感觉!-使用布局修整「UseLayoutRounding」

    原文:零元学Expression Blend 4 - Chapter 34 啊~!!我不要毛毛的感觉!-使用布局修整「UseLayoutRounding」 本章将介绍UseLayoutRounding ...

  4. Windows Phone Launcher class

    Starts the default app associated with the specified file or URI. Launch a file contained in the app ...

  5. 事件循环和线程没有必然关系(就像Windows子线程默认没有消息循环一样),模态对话框和事件循环也没有必然关系(QWidget直接就可以)

    周末天冷,索性把电脑抱到床上上网,这几天看了 dbzhang800 博客关于 Qt 事件循环的几篇 Blog,发现自己对 Qt 的事件循环有不少误解.从来只看到现象,这次借 dbzhang800 的博 ...

  6. postgresql Java JDBC 一次性传入多个参数到 in ( ?) - multple/list parameters

    经常不清楚需要传入多少个参数到 IN () 里面,下面是简单方法: 方法 1 - in ( SELECT * FROM unnest(?)) ) Integer[] ids={1,2,3};      ...

  7. 使用百度网盘+Git,把版本控制托管到云端,附精彩评论

    http://www.cnblogs.com/vajoy/p/3929675.html 我试过多个这种双向同步的网盘,在网络状况不好.系统卡顿以及某些程序BUG的情况下,同步会有错乱现象,尤其是多个电 ...

  8. Web 高效开发必备的 PHP 框架

    摘要: 每周为您推送最有价值的开源技术内参! 码云项目推荐 1.项目名称:多功能 THinkPHP 开源框架 项目简介:使用 THinkPHP 开发项目的过程中把一些常用的功能或者第三方 sdk 整合 ...

  9. FreeCL

    FreeCL 1.03(Free Control Library)是一个开源且免费的Windows控件库,它属于3D图形引擎FreeGE中的一部分,用户可以自由地用于个人或商业开发.FreeCL使用类 ...

  10. wangjie.rocks的静态编译Qt,openssl,icu

    http://wangjie.rocks/2015/12/28/compile-qt/http://wangjie.rocks/2015/12/10/compile-icu/http://wangji ...