带有EF Core的新Web API。在我查询的数据库之间切换时,一个数据库中可能不存在一列,而另一数据库中将存在一列。使用LINQ选择列时,如何检查该列是否存在?
我正在使用EF Core查询表。在所有数据库中,表结构几乎相同,除了可能存在或不存在的1或2列。我仍然需要获取该列中的数据(如果存在),但是我不确定如何在不出现“ SqlException:无效列名”错误的情况下进行检查。
return await _context.Table1.Join(_context.Table2,
t1 => t1.col1,
t2 => t2.col1,
(t1, t2) => new { Table1 = t1, Table2 = t2})
.Select(t1 => new Table1
{
Column1 = t1.Table1.col1,
...
ColumnMayNotExist = t1.Table1.ColumnMayNotExist ?? null
})
.ToListAsync();
如果该列不存在,我只想为该列返回null。
我会说我没有访问权限/仅将此列添加到当前表结构并不容易。