在linq表映射中将多个表分配给单个类

时间:2013-08-22 17:16:42

标签: c# sql linq linq-to-sql

我可能会错误地问这个问题,因为我正在接触Linq。我已经搜索了一个解决方案,我唯一想到的是继承是答案的可能性,但在这种情况下我无法弄清楚如何使用它。我正在使用c#并为表创建了一个类:

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

我有多个表(例如CommonDocumentData1800,CommonDocumentData1900,CommonDocumentData2000),但我想使用相同的类而不是重复具有不同名称的类。我该如何处理?

1 个答案:

答案 0 :(得分:0)

您可以在linq查询中包含多个枚举。为了填充您的CommonDocumentRecordData对象,您可以执行此操作:

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
                );