2012-12-16 57 views
0

我有一個填充了表名稱的列表框。我希望能夠單擊列表框中的一行並返回該表中的所有記錄並綁定到datagridview。使用良好的老式SQL這是一塊蛋糕。試圖對Entity Framework 4.3.1做同樣的事情是另一回事。實體框架通過變量獲取實體

例如,是否有辦法在下面的代碼中將「get_picklist_names_v」表示爲變量?

static class EfHelper 
{ 
    public static EfEntities CreateContext() 
    { 
     EfEntities context = new EfEntities(); 
     return context; 
    } 
} 

using (var context = EfHelper.CreateContext()) 
{ 
    IList list = context.get_picklist_names_v.ToList(); 

    lboPicklist.DataSource = list; 
    lboPicklist.DisplayMember = "name"; 
} 

回答

0

實體框架abstact的SQL的東西具有類型和做它最好的,所以你不必寫sql爲每個服務器的味道(甲骨文,SQL服務器,MySQL的,等等)。這就是ORM所做的...

如果你習慣於泛型類型,那麼它與實體框架相同的做法相當簡單。

這不正是侑尋找,但也許你可以找到來自followig文章的一些提示:

Repository Pattern with Entity Framework

0

實體框架是不是實現這一目標的最佳工具。您可以嘗試Entity Sql,但問題是,爲了以動態方式使用它,必須在IEnumerable<DbDataRecord>中捕獲結果。 A DataGridView將不會如此顯示。

沒有比通過TableAdapter和sql語句填充DataSet更方便的了。如果我是你,我會堅持。