EF错误记录

纯属个人记录错误使用:

1、EntityType“area”未定义键。请为该 EntityType 定义键。

产生原因:

1、命名空间引用错误,可能命名重复导致引用错误

2、实体类无法识别主键或者未设置主键

默认可识别id为主键,当model中无id时,则须手动标识出主键

引用 System.ComponentModel.DataAnnotations 命名空间
在对应model类中找到对应数据库中主键的属性,在头部声明[key]

 

 3、EF已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭。

将IQueryable<Entities.Assets_ApplyPurchaseList> list = handle.GetList(RequestCode);改成:List<Entities.Assets_ApplyPurchaseList> list = handle.GetList(RequestCode).ToList();即将查询到的数据写入内存,错误解除

 4、LINQ to Entities 不识别方法“System.String get_Item(Int32)”

LINQ或lamda中不能“嵌套“方法(说的不准确,暂记下)

如 var cers = _aContract.GetList(c => c.Name.Contains(list[i])).ToList();

这个语句就会报错,原因是list[i]需要在外部获取值,修改:

var name = list[i];

var cers = _aContract.GetList(c => c.Name.Contains(name)).ToList();

错误解决。这个地方很容易出错,相似的问题还有:不能整个对象进行操作,如:

var cers = _aContract.GetList(c => c.Person.Contains(new Person{name = 'joey'})).ToList();//这里的Person是一个对象而非字段

 

转载于:https://www.cnblogs.com/joeymary/p/6209158.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值