5 votes

Attribuer plusieurs tables à une seule classe dans le mappage de tables linq

Je pose peut-être la mauvaise question, car je commence à me familiariser avec Linq. J'ai cherché une solution et la seule chose que j'ai trouvée est la possibilité que l'héritage soit la réponse, mais je n'arrive pas à trouver comment l'utiliser dans ce cas. J'utilise c# et j'ai créé une classe pour une table comme :

[Table(Name = "CommonDocumentData1800")]
public class CommonDocumentRecordData
{
    [Column]
    public string RecordID;
    [Column]
    public int? StartYear;
    [Column]
    public int? EndYear;
    [Column]
    ....
}

J'ai plusieurs tables (par exemple CommonDocumentData1800, CommonDocumentData1900, CommonDocumentData2000), mais je veux utiliser la même classe plutôt que de répéter la classe avec un nom différent. Comment dois-je procéder ?

0voto

mrtig Points 1835

Vous pouvez inclure plusieurs énumérables dans une requête linq. Afin de remplir votre CommonDocumentRecordData vous pourriez faire ceci :

var allTables = (from t1800 in  CommonDocumentData1800.AsEnumerable()
                 select new CommonDocumentRecordData
                {
                 RecordID = t1800.Field<string>("RecordId"),
                 StartYear = t1800.Field<int>("StartYear"),
                 EndYear = t1800.Field<int>("EndYear")
                }).Union(
                from t1900 in  CommonDocumentData1900
                //and so on
                );

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X