程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> Entity Framework學習中級篇2—存儲過程(上)

Entity Framework學習中級篇2—存儲過程(上)

編輯:關於ASP.NET

目前,EF對存儲過程的支持並不完善。存在以下問題:

l EF不支持存儲過程返回多表聯合查詢的結果集。

l EF僅支持返回返回某個表的全部字段,以便轉換成對應的實體。無法支持返回部分字段的情況。

l 雖然可以正常導入返回標量值的存儲過程,但是卻沒有為我們自動生成相應的實體.cs代碼,我們還是無法在代碼中直接調用或使用標量存儲過程

l EF不能直接支持存儲過程中Output類型的參數。

l 其他一些問題。

下面,主要針對如何使用存儲過程,以及存儲返回實體、表的部分字段這個幾個問題,做具體介紹。

l 導入存儲過程及返回實體

在VS可視化設計器中,打開實體模型(emdx文件)。然後,鼠標右鍵點擊“Customers”à “添加”à“函數導入”,然後選擇“存儲過程名稱”,並輸入函數導入名稱,選擇返回類型為實體並選擇Customers。如下圖所示:

之後,點擊“確定”。之後,存儲過程導入。在代碼我們就可以使用改存儲過程了。如下代碼所示:

[Test]
public void GetEntityBySP()
{
using (var db = new NorthwindEntities())
{
var cst = db.GetCustomerById("ALFKI").FirstOrDefault();
Assert.IsNotNull (cst);
Console.WriteLine("CustomerId:{0},ContactName:{1}", cst.CustomerID, cst.ContactName);
}
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved