环境:EntityFramework 版本号:4.1.0.0

问题一:“数据读取器与指定的“。。。.。。。”不兼容。某个类型为“。。。”的成员在同名的数据读取器中没有对应的列。”。

使用方式:rep.context.Database.SqlQuery<T>(sql, pList.ToArray<object>()); //sql       是直接字符串拼接的

问题原因:T 是个视图,因为数据库中的字段是有前缀"C_",而生产实体的时候 我们做了去前缀的操作。导致 字段对应不上。

解决方案:在拼写sql 字符串的时候 把有前缀的字段 起个别名去掉前缀。如: C_DISP_TYPE_NM as DISP_TYPE_NM。

问题二:“V_CLAIM_DISPATCH 的“MAIN_STAT”属性不能设置为“Int64”值。必须将该属性设置为类型为“Int32”的非 null 值”

使用方式:var surveyList = claimBiz.FindAll<V_CLAIM_DISPATCH>(sqlText, pList);

问题原因:【不明】猜想可能原因是,数据库是number(10),生成的实体是int。而实际读出来的数据要对应int64。但那个字段类型的映射是EF自动完成的,不能人为修改。所以报错。

解决方案:重新写个类V_CLAIM_DISPATCH_COPY  标志字段 Nullable<Int64> MAIN_STAT。上面的使用方式 var surveyList = claimBiz.FindAll<V_CLAIM_DISPATCH_COPY  >(sqlText, pList);  把泛型改成自定义类。

问题三:多对多 新增数据时 对应关系表也会增加一条数据。

例如:科目表 有语文 数学,我新增一条学员信息 对应科目语文。更新成功后科目表 也会重新新增一条”语文“的信息。

问题原因:在添加 学员信息时  查询的科目 语句用到了 AsNoTracking (即 不被实体被EF context追踪,查询出来的实体不能直接用于更新和删除,否则报错)。参考资料 1 2 3

解决方案:在查询科目 的时候  把 AsNoTracking  这个方法去掉。[然后有出现了 问题四 ]

问题四:一个实体对象不能由多个 IEntityChangeTracker 实例引用

问题原因:在添加Add 实体时 在实体的 导航属性添加了 关系实体。 查询资料:1

如: var modelMyBlogs = new Model.MyBlogs(){};

modelMyBlogs.BlogTags.Add(itemBlogTag);

blog.Add(modelMyBlogs);

itemBlogTag 是由重新实例DbContext查询出来的。

解决方案:直接吧DbContext放到session里面或者进程内公用。(我是直接放session里)

问题五:查询异常的慢。

可能原因:

1.数据量大 筛选条件没有 EntityFunctions.AsNonUnicode   http://www.cnblogs.com/zhaopei/p/4431461.html

2.如果查询出来的结果集不用更新和修改 可以 在后面加 AsNoTracking 方法(不被实体EF context追踪)

最新文章

  1. 全新 Mac 安装指南(通用篇)(推荐设置、软件安装、推荐软件)
  2. C# 获取系统时间及时间格式
  3. 求二叉树的宽度C语言版
  4. odoo注销后在登录时的用户名和密码
  5. C# 发送邮件代码
  6. nginx服务器在IE下载时,apk,ipa文件变成zip的解决方法
  7. Linux Shell多进程并发以及并发数控制
  8. Open judge 06月度开销
  9. Android系统默认Home应用程序(Launcher)的启动过程源代码分析
  10. 普林斯顿大学算法课 Algorithm Part I Week 3 重复元素排序 - 三路快排 Duplicate Keys
  11. 在Cocos2d-x正在使用SQLlite数据库
  12. kafka集群中常见错误的解决方法:kafka.common.KafkaException: Should not set log end offset on partition
  13. vs code 设置问题
  14. Ubuntu 16.04 中安装谷歌 Chrome 浏览器
  15. beego注解路由 [自定义方法]
  16. C# DataGridView中单元格Cell改变事件
  17. go语言基础之结构体做函数参数 值传递和地址传递
  18. Web性能测试通用标准
  19. YAML 格式学习
  20. 【手动开栈】【dfs序】【树状数组】【Tarjan】bzoj2819 Nim

热门文章

  1. HTML文档可以包含的内容
  2. tp框架之登录验证
  3. linux 查看目录所在的分区
  4. Ext.js的store里放model,还是field?
  5. Knockout.js随手记(7)
  6. (UWP)通过编写算法实现在地图中的渐变路径
  7. font-family字体总结
  8. centos 6.5 yum安装 mysql 5.6
  9. 可变参数列表与printf()函数的实现
  10. 将Unreal4打包后的工程嵌入到Qt或者桌面中