使用DataContext插入并获取ID CSLA C#
在C#中插入时如何使用CSLA检索ID?存储过程在数据库表中进行插入,然后在插入后有一个使用DataContext插入并获取ID CSLA C#,c#,sql,csla,C#,Sql,Csla,在C#中插入时如何使用CSLA检索ID?存储过程在数据库表中进行插入,然后在插入后有一个SELECT@Id(它是用SCOPE\u IDENTITY()设置的) 这是要在C#中插入的代码: 使用(var-mgr=ContextManager.GetManager(“TestDB”)) { var results=mgr.DataContext.up\u StoredProcToInsert( “大卫”, 30, ); } 根据以下内容尝试以下示例: SP: C#代码: 虽然该示例不使用存储过程,但
SELECT@Id
(它是用SCOPE\u IDENTITY()
设置的)
这是要在C#中插入的代码:
使用(var-mgr=ContextManager.GetManager(“TestDB”))
{
var results=mgr.DataContext.up\u StoredProcToInsert(
“大卫”,
30,
);
}
根据以下内容尝试以下示例:
SP:
C#代码:
虽然该示例不使用存储过程,但依靠EF自己完成工作,您可以查看ProjectTracker示例中的EF数据访问层,了解如何实现插入操作:
公共作废插入(项目到项目)
{
使用(var ctx=ObjectContextManager.GetManager(“PTrackerEntities”))
{
var newItem=新项目
{
名称=项。名称,
描述=项目。描述,
已启动=项。已启动,
结束=项目。结束
};
ctx.ObjectContext.AddToProjects(newItem);
ctx.ObjectContext.SaveChanges();
item.Id=newItem.Id;
item.LastChanged=newItem.LastChanged;
}
}
using (var mgr = ContextManager<PersonDataContext>.GetManager("TestDB"))
{
var results = mgr.DataContext.up_StoredProcToInsert(
"David",
30,
);
}
CREATE PROCEDURE SP_Ins_Test
@name nchar(10)
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO dbo.test(name)
SELECT @name
SELECT SCOPE_IDENTITY() AS ResultId
END
GO
DemoDB_JRDevEntities db = new DemoDB_JRDevEntities();
SP_Ins_Test_Result r=db.SP_Ins_Test("Raj").First();
string id= r.ResultId.ToString();