在linq表映射中将多个表分配给单个类
本文关键字:分配 单个类 linq 映射 | 更新日期: 2023-09-27 18:28:43
在处理Linq时,我可能问错了这个问题。我一直在寻找一个解决方案,我唯一想到的是继承是答案的可能性,但我不知道如何在这种情况下使用它。我正在使用c#,并为一个表创建了一个类:
[Table(Name = "CommonDocumentData1800")]
public class CommonDocumentRecordData
{
[Column]
public string RecordID;
[Column]
public int? StartYear;
[Column]
public int? EndYear;
[Column]
....
}
我有多个表(例如CommonDocumentData1800、CommonDocumentData1900和CommonDocumentData2000),但我想使用同一个类,而不是用不同的名称重复该类。我该如何处理?
您可以在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
);