我在asp.net核心應(yīng)用程序中使用EF7(實(shí)體框架核心)。您能否指出我執(zhí)行存儲(chǔ)過程的正確方法?舊法ObjectParameters,并((IObjectContextAdapter)this).ObjectContext.ExecuteFunction不能正常工作。
3 回答

RISEBY
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
現(xiàn)在解決了EF7中對(duì)存儲(chǔ)過程的支持,它還支持多個(gè)結(jié)果集的映射。
您可以這樣稱呼它- var userType = dbContext.Set().FromSql("dbo.SomeSproc @Id = {0}, @Name = {1}", 45, "Ada");

小怪獸愛吃肉
TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊
要執(zhí)行存儲(chǔ)過程,請(qǐng)使用FromSql方法執(zhí)行RAW SQL查詢
例如
var products= context.Products .FromSql("EXECUTE dbo.GetProducts") .ToList();
與參數(shù)一起使用
var productCategory= "Electronics";var product = context.Products .FromSql("EXECUTE dbo.GetProductByCategory {0}", productCategory) .ToList();
要么
var productCategory= new SqlParameter("productCategory", "Electronics");var product = context.Product .FromSql("EXECUTE dbo.GetProductByName @productCategory", productCategory) .ToList();
執(zhí)行RAW SQL查詢或存儲(chǔ)過程存在某些限制。您不能將其用于INSERT / UPDATE / DELETE。如果要執(zhí)行INSERT,UPDATE,DELETE查詢,請(qǐng)使用ExecuteSqlCommand
var categoryName = "Electronics";dataContext.Database .ExecuteSqlCommand("dbo.InsertCategory @p0", categoryName);
- 3 回答
- 0 關(guān)注
- 914 瀏覽
添加回答
舉報(bào)
0/150
提交
取消