2009-03-11 7 views
0

Comment pouvez-vous faire quelque chose comme génériqueObtenir une table par le type d'élément dans LINQ to SQL

return from items in _db.Table 
    select items; 

Je voudrais faire quelque chose comme ça

public class Data<T> (where T is the model object) 

de sorte que le tableau change pour la valeur de T

Comment serait ce regard comme une classe générique avec une méthode de sauvegarde par exemple

Merci

+0

Comment DataRepository peut-il remplir GetTable ? –

+0

InsertOnSubmit() – leppie

+0

Ou utilisez un BindingList. – leppie

Répondre

0
... _db.GetTable<MyType> ... 
4

Dans LINQ to SQL, le contexte de données a GetTable<T>():

var table = _db.GetTable<T>(); 
etc 
+0

var table = _db.GetTable ; Erreur Impossible d'affecter un groupe de méthodes à une variable locale implicitement typée –

+0

Voulez-vous dire cela pour leppie? J'avais des parenthèses dans mon post ... essayez de les ajouter ... –

1

Ajout à la réponse de Marc Gravell, vous pourriez avoir une méthode de mise à jour générique qui ressemble à ceci:

public void Update(TEntity entity, TEntity original) 
{ 
    using (DataContext context = CreateContext()) 
    { 
     Table<TEntity> table = context.GetTable<TEntity>(); 

     table.Attach(entity, original); 
     context.SubmitChanges(); 
    } 
}