如何解决linq to sql c#:将外键替换为其字符串值并保留表结构
| 我想知道是否有可能这样做。问题是我试图查询数据库以填充一些列表。如果我要使用此查询: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()。否则,您每次访问查询都将最终查询数据库,而不是一次加载数据并重新使用它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。