2014-10-10 90 views
0

是否有可能爲一個實體類是否有可能返回所有列的實體的數據實體框架

class mytest 
{ 
    public int id {get;set;} 
} 

與實體框架查詢該實體進出獲得其所有的列沒有他們存在於C#類?

給定一個表我想基於一些列我知道篩選存在,然後返回所有其他列的是,在上述情況下,我知道該表作爲一個ID列。

+0

沒有 - 如果你在一個類加載的實體只有'id' - 有沒有辦法讓所有的其他列。如果你想從數據庫中的所有列,對應於這些列的所有領域都必須存在於C#類 – 2014-10-10 13:24:17

+0

,你不行,如果這是你想要做什麼,然後EF是不是真的合適的工具。你可以使用ADO.net和DataTables來做到這一點。 – 2014-10-10 13:25:35

+0

即使您生成的SQL返回所有列,您如何在代碼中引用它們? – David 2014-10-10 13:28:00

回答

0

你必須有所有你想要物化到實體類中定義的.NET代碼的性能,但是你設定的類來定義你想要的「已知」領域的接口來查詢,例如作爲ID:

public interface IEntity 
{ 
    int Id { get; set; } 
} 

然後你就可以使用EF查詢這些定義的字段,或者您可以使用在EF上下文中的通用方法查詢某些字段,每個實體必須有,如ID:

context.Set<TEntity>().Find(id); 

context.Set<TEntity>().Where(predicate); 

上述假設TEntity : class, IEntity