LINQ to SQL C#:将外键替换为其字符串值并保留表结构
本文关键字:字符串 保留 结构 替换 SQL to LINQ | 更新日期: 2023-09-27 17:57:23
我想知道是否有可能做到这一点。问题是我试图查询数据库以填充一些列表。如果我使用此查询:
var query =
a in db.Record_HoldData
where a.HoldStatus == "Open"
select a;
它将返回所有相关数据,我仍然可以从结果对象访问和转换数据,例如:
DateTime time = (DateTime)query.DateOpened;
但是字段 Flavor 是一个外键数字,因此在这种情况下毫无用处。我想做的是完整地返回一个表,将flavor的外键替换为flavor查找表中的实际名称,并且仍然能够使用该数据。这有意义吗?我认为这很简单。
您需要像这样连接两个表:
var query = (
from a in db.Record_HoldData
join b in db.FlavorTable on
a.FlavorId equals b.Id
where a.HoldStatus == "Open"
select
new
{
a.DateOpened,
a.Field1,
a.Field2,
...
b.FlavorName
})
.ToList();
另外,添加 ToList()。否则,您最终将在每次访问查询时查询数据库,而不是加载一次数据并重用它。