Попытка использовать Linq для создания внутреннего объединения данных из SQL Server и Excel.Я могу запросить каждый источник независимо, но получаю ошибку при соединении источников.Возвращаемая ошибка:
IQueryable, который возвращает выражение константы с собственной ссылкой, не поддерживается.
Что это значит и как я могу исправить метод?
/// <summary>
/// LINQ inner join to Excel query
/// Sends the results of the query to a dataGridView.
/// Requires a DATAContext to talk to SQL Server.
/// Uses Linq to Excel to talk to Excel
/// </summary>
private void QueryDatabase()
{
var excelFile = @"C:\Test\Cad_Database.xlsx";
var excel = new ExcelQueryFactory(excelFile);
GdaDataContext gda= new GdaDataContext();
var query = from f in gda.DirectoryAnalysis
join e in excel.Worksheet("Sheet1") on f.Fullname equals e["FullPath"]
select new
{
f.Fullname,
f.Name,
ExcelFullName = e["FullPath"],
DrawingTitle = e["Drawing Title"],
DrawingNumber = e["Drawing Number"],
DrawingDate = e["Drawing Date"],
VendorName = e["Vendor Name"],
f.DA_Id
};
foreach (var item in query)
{
LogWriter.LogEvent($"{item.Fullname} {item.ExcelFullName} {item.DrawingTitle} {item.DrawingTitle}", "InnerJoinLinqToExcel");
}
dataGridView1.DataSource = query;
}