使用Entity开发遇到的小问题
1、 异常:[EntityCommandExecutionException: 存储区数据提供程序返回的数据读取器所具有的列数对于所请求的查询不够。]
这个异常是因为存储过程导入函数调用的异常。过程的代码:
ALTER PROCEDURE [dbo].[eware_get_identity_id]
@table_name NVARCHAR(80)
AS
DECLARE @new_id INT
SELECT @new_id = 0
...................
SET NOCOUNT OFF
RETURN @new_id
过程中,需要增加select 语句:修改如下之后,更新模型就可以了。
ALTER PROCEDURE [dbo].[eware_get_identity_id]
@table_name NVARCHAR(80)
AS
DECLARE @new_id INT
SELECT @new_id = 0
SET NOCOUNT OFF
select @new_id as result
RETURN @new_id
2、 异常:[UpdateException: 无法更新 EntitySet“AappTask”,因为它有一个 DefiningQuery,而 <ModificationFunctionMapping> 元素中没有支持当前操作的 <InsertFunction> 元素。]
这个异常是没有给表增加主键。加上之后,更新模型就OK。
3、编译器错误消息:[CS0012: 类型“System.Data.Objects.DataClasses.EntityObject”在未被引用的程序集中定义。必须添加对程序集“System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。]
需要在web.config的配置中按照如下代码路径添加 对于的程序集即可。
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</assemblies>
</compilation>
</system.web>
作者:Novus
出处:http://www.cnblogs.com/novus/
本文版权归作者和博客园共有,欢迎任何形式的转载,但请务必注明出处。