2012-11-26 75 views
0

一起使用我不確定是否應該直接使用EntityObject,或者如果我應該使用som包裝器方法來選擇,更新和刪除EntityObjects?我想使用最後一個選項,但我無法真正弄清楚如何返回EntityObject(所以我仍然可以撥打context.SaveChanges();),而不是例如List<Worker>(這很愚蠢,因爲我無法對工人進行更改在列表中,然後輕鬆地提交chages到數據庫返回EntityObject與

例如,我有一個Worker表,我能得到一個工人用我的背景:。

var worker = context.Worker.Where(w => w.WorkerID == 1).FirstOrDefault(); 

或者,我可以創建一個包裝方法:

public static RETURNTYPE GetWorkerByID(int id, context) 
{ 
    var worker = context.Worker.Where(w => w.WorkerID == 1).FirstOrDefault(); 
    return worker; 
} 

如果我仍然希望與上下文一起工作(允許我更改數據),我應該使用什麼樣的返回類型?

謝謝!

回答

1

如果你製作一個包裝類型,你將不能夠在上下文中使用它。使用包裝器意味着你的返回類型將代表從實體對象中填充的新實例,並且當你將這個實例返回時,你將再次需要創建/填充要使用的實體對象。

您是否考慮過使用POCO(EF 4.0和更新版本)?這將解決你的問題,因爲基類有EntityObject

+0

謝謝。我並不十分熟悉POCO,但我對它們有一些瞭解。問題在於我承受了在適當的時間完成項目的壓力,所以如果花時間設置POCO,那麼我不會這樣做。但關於封裝,你的回答只是闡述了我的擔憂:) – thilemann