EF调用存储过程查询表中的部分字段,报数据读取器与指定的“AdventureWorksDWModel.Student”不兼容。某个类型为“Age”的成员在同名的数据读取器中没有对应的列。
2014-11-18 23:29
1021 查看
实现功能:查询单张表Student中返回指定的列
一:数据库表结构:
二:存储过程:
三:EF模型更新表和存储过程以及存储过程的函数导入
四:客户端调用
此时问题就出来了:
解决办法:
此时客户端调用需要更改一下返回的数据类型:
问题就到此解决完毕。希望能帮到大家。
一:数据库表结构:
二:存储过程:
USE [AdventureWorksDW] GO /****** Object: StoredProcedure [dbo].[GetAllStudentInfo] Script Date: 2014/11/18 21:47:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: 王光旭 -- Create date: 2014-11-18 -- Description: 返回Student表中指定的字段 -- ============================================= ALTER PROCEDURE [dbo].[GetAllStudentInfo] @stuName varchar(50) AS BEGIN SET NOCOUNT ON; select ID,Name,TID from Student --注意此处没有查表中的Age字段 END
三:EF模型更新表和存储过程以及存储过程的函数导入
四:客户端调用
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.Objects; namespace ClassLibrary1 { public class Class1 { public void accp() { awdEntities awd = new awdEntities(); ObjectParameter[] para = new ObjectParameter[] { new ObjectParameter("stuName", "田三") }; //QueryAllStudentInfo为导入存储过程制定的那个函数名称 var list = awd.ExecuteFunction<Student>("QueryAllStudentInfo", para).ToList(); } } }
此时问题就出来了:
解决办法:
此时客户端调用需要更改一下返回的数据类型:
using System.Text; using System.Data.Objects; namespace ClassLibrary1 { public class Class1 { public void accp() { awdEntities awd = new awdEntities(); ObjectParameter[] para = new ObjectParameter[] { new ObjectParameter("stuName", "田三") }; //QueryAllStudentInfo为导入存储过程制定的那个函数名称 //之前的数据返回类型Student更改为QueryAllStudentInfo_Result var list = awd.ExecuteFunction<QueryAllStudentInfo_Result>("QueryAllStudentInfo", para).ToList(); } } }
问题就到此解决完毕。希望能帮到大家。
相关文章推荐
- 数据读取器与指定的“WNWModel.WNW_Pipe”不兼容。类型“Label”的成员在同名的数据读取器中没有对应的列
- 数据读取器与指定的“LMSoft.Zhaopin.DAL.ArticleVote”不兼容。类型“ArticleMatcthId”的成员在同名的数据读取器中没有对应的列
- 调用EF的存储过程报“存储区数据提供程序返回的数据读取器所具有的列数对于所请求的查询不够”问题
- 在Mybaties中进行数据查询时,表中字段名和属相名没有对应起来,查询的结果总null,一下是解决方法
- SQL Server 查询表的字段对应描述、数据类型、长度
- SQL Server 2005 获取 DateTime 数据类型字段中的指定年月日部分
- 查询数据库中的表,返回字段相对应的数据类型!
- solrJ 1、批量更新数据时,会有部分数据没有更新上, 2.排序时使用整型、数字型字段,不要使用字符串类型
- oracle创建定时job,job调用存储过程,批量查询,批量修改,自定义数据类型,
- C#读取Excel表中的数据时混合字段部分数据没有
- 调用EF的存储过程报“存储区数据提供程序返回的数据读取器所具有的列数对于所请求的查询不够”问题
- C#中调用Windows API时的数据类型对应关系
- C++数据类型与C#对应关系 c#调用WINDWOS API时,非常有用
- 查询Oracle中两个字段间的数据(date类型)
- 查询数据库指定字段重复项的一条数据
- C#中调用Windows API时的数据类型对应关系
- (转)C#中调用Windows API时的数据类型对应关系
- 更新数据库所有表的某一个指定字段 ,附加对‘将 varchar 值转换为数据类型为 int 的列时发生语法错误’处理方法
- 使用存储过程读取Oracle中的clob字段的数据
- C#中调用Windows API时的数据类型对应关系