2011-03-11 29 views
0

我不能滿足於我們需要在所有pocos/bl對象中重新創建插入/更新/刪除功能的想法嗎? EF和linq2sql,它本身就有這麼好的內置。在業務層插入/更新/刪除EF

你們如何有效地解決這個問題?在IQueryable pocos中使用基類或一些魔法?

.NET 4

回答

1

因爲你的實體框架/ LINQ的對象很可能是從一些基礎類,你可以從一個單一的基類繼承你的業務層中的對象繼承。然後做這樣的事情:

public class BusinessBaseCollection 
{ 
    protected EFBaseCollection _efObject = null; 

    public BusinessBaseCollection(EFBaseCollection efObject) 
    { 
     _efObject = efObject; 
    } 

    public Add(BusinessBase obj) 
    { 
     _efObject.Add(obj); 
    } 

    //Add other CRUD stuff here 
} 
+0

我覺得很有趣。正如你所說。方法已經存在,我不明白爲什麼我們應該重做它們。雖然,我所有試圖對EF進行某種智能BL的方法都很不清晰和滑.. – Independent 2011-03-11 10:29:48

+0

一個非常恐怖的效果是,我必須在應用程序中引用DataLayer程序集,當嘗試這樣一個基礎對象時(如上所述)。我在這裏錯過了一些基礎?爲什麼企業不能考慮它自己.. – Independent 2011-03-11 10:31:08

+0

只有正常的,如果你以某種形式使用EF Baseclass,你需要引用它的程序集。沒有? – 2011-03-11 10:50:22