问题描述
|
我想知道是否有可能这样做。问题是我试图查询数据库以填充一些列表。如果我要使用此查询:
var query =
a in db.Record_HoldData
where a.HoldStatus == \"Open\"
select a;
它将返回所有相关数据,我仍然可以从结果对象访问和转换数据,例如:
DateTime time = (DateTime)query.DateOpened;
但是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()。否则,您每次访问查询都将最终查询数据库,而不是一次加载数据并重新使用它。