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

Pet*_*r C 6 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]
    ....
}
Run Code Online (Sandbox Code Playgroud)

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

mrt*_*tig 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
                );
Run Code Online (Sandbox Code Playgroud)