[英]Calling SProcs from EF best practice
我已經將一些存儲過程導入到EF中。
只使用存儲過程,不使用LINQ to Entities。
這是什么最佳做法?
我只是有一個使用Entities
字段來調用存儲過程的類:
public class DataAccess : IDataAccess
{
private readonly MyEntities entities = new MyEntities();
public IEnumerable<MyObj> GetMyObJects()
{
return entities.GETMyObj().Select(x => new MyObj { Name = x.NAME }).ToList();
}
public IEnumerable<MyObj2> GetMyObJects2()
{
return entities.GETMyObj2().Select(x => new MyObj2 { Name = x.NAME }).ToList();
}
public IEnumerable<MyObj3> GetMyObJects3()
{
return entities.GETMyObj3().Select(x => new MyObj3 { Name = x.NAME }).ToList();
}
}
這是推薦的嗎? 我是否應該為每種方法使用新的Entities
?
如下:
public IEnumerable<MyObj3> GetMyObJects3()
{
using(MyEntities entities = new MyEntities())
{
return entities.GETMyObj3().Select(x => new MyObj3 { Name = x.NAME }).ToList();
}
}
Julie Lerman撰寫了一篇非常全面的文章,其中包含有關此主題的示例代碼,它位於此處 。
是。 你的帖子中有什么是推薦的方式,所以你會有類似的東西:
public IEnumerable<MyObj3> GetMyObJects3()
{
using(MyEntities entities = new MyEntities())
{
ObjectResult<SPResult> Results = entities.GetMyObJects3();
IEnumerable<MyObj3> results = Results.ToList();
return results;
}
}
使用EDMX文件,創建函數導入。 在這個例子中, GetMyObJects3()
是函數import。
只要您的代碼只從數據庫中讀取數據,我就不會發現任何問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.