【发布时间】:2009-06-13 20:00:35
【问题描述】:
如何在 ADO.NET Entity Framework 中使用存储过程?
我的表:我的客户
Columns:
CustomerID PK int
Name nvarchar(50)
SurName nvarchar(50)
我的存储过程
ALTER procedure [dbo].[proc_MyCustomerAdd]
(@Name nvarchar(50),
@SurName nvarchar(50)
)
as
begin
insert into dbo.MyCustomer([Name], SurName) values(@name,@surname)
end
我的 C# 代码
private void btnSave_Click(object sender, EventArgs e)
{
entityContext.MyCustomerAdd(textName.Text.Trim(), textSurName.Text.Trim());
entityContext.SaveChanges();
}
错误:
数据读取器与指定的不兼容 'TestAdonetEntity2Model.MyCustomer'。一种 类型的成员,'CustomerID',确实 中没有对应的列 同名数据读取器。
在最后一行代码下面发生错误(调用 ExecuteFunction):
global::System.Data.Objects.ObjectParameter surNameParameter;
if ((surName != null))
{
surNameParameter = new global::System.Data.Objects.ObjectParameter("SurName", surName);
}
else
{
surNameParameter = new global::System.Data.Objects.ObjectParameter("SurName", typeof(string));
}
<b>return base.ExecuteFunction<MyCustomer>("MyCustomerAdd", nameParameter, surNameParameter);</b>
添加没问题。每个添加的过程都可以。但编辑后出现上述错误。
【问题讨论】:
标签: c# .net linq-to-sql entity-framework