2012-07-12 73 views
0

我在SQL中使用实体框架+ SQl 2008 + .Net Framework 4 + SP。函数错误EF

and crate功能在EF中插入值到sql。

来回EX: 功能导入名称:InsertStudent

stroed程序名称:InsertStudent

返回一个集合:标量:的Int32

SP:

create proc InsertStudent 
(
@DateReg datetime, 
@stdLastName nvarchar(50), 
@stdFirstName nvarchar(50), 
@Description nvarchar(500) 
) 
INSERT INTO Student(DateReg,stdLastName,stdFirstName,[Description]) 
VALUES (@DateReg,@stdLastName,@stdFirstName,@Description) 

日期保存在SQL中,但功能EF错误:

商店数据提供者返回的数据读取器没有足够的列来查询请求。

+0

什么是你的学生表的主键?你在这个语句中插入该字段的值? – DevT 2012-07-12 04:05:04

+1

什么查询?这是一个INSERT语句。它将返回的唯一数据是受影响的行数。 – 2012-07-12 04:07:23

+0

@ Til86:student表中的主键= stdID int – 2012-07-12 04:18:32

回答

0

我认为你需要为through sp插入主键值。

create proc InsertStudent 
(
    @stdID int, 
    @DateReg datetime, 
    @stdLastName nvarchar(50), 
    @stdFirstName nvarchar(50), 
    @Description nvarchar(500) 
) 
INSERT INTO Student(stdID,DateReg,stdLastName,stdFirstName,[Description]) 
VALUES (@stdID,@DateReg,@stdLastName,@stdFirstName,@Description) 
+0

stdID具有标识和主键。 – 2012-07-12 04:26:58

+0

stdID具有标识和主键。在sql中没有插入值的problam。 我有类似的需求SCOPE_IDENTITY()。为获取stdID中的最后一个值在插入值 – 2012-07-12 04:34:09

+0

没有sp之后,请在sql查询窗口中尝试此操作,并检查其是否可能。 INSERT INTO Student(DateReg,stdLastName,stdFirstName,[Description]) VALUES('07 -12-2012','aa','bb','abc') – DevT 2012-07-12 04:38:01