【发布时间】:2015-03-30 10:11:59
【问题描述】:
对于发生的任何事务,都会在我的表中插入一行。
我有如下表(交易)
ID----------金额
1------------150.00
2----------- 246.00
3----------- 100.00
4----------- 201.00
如果上述交易发生在多种支付类型(现金、信用卡等)中,则对于每种支付类型,都会在另一个表中插入一行。
这个新表(Tender)如下所示
ID---- TenderType----- TransactionId
1----------- 10 ---- 1
2------------ 20---- 2
3-------------10-----2
以上说明,第一个交易(来自 Transactions 表,金额 150.00)只发生了一种投标类型(10)。所以投标表中只有一行。
第二笔交易(金额 246.00)发生在两种投标类型(10 和 20)中。所以投标表中有两行。
现在我想要输出为
金额-----TenderType
150.00 ------ 10
246.66-------10/20
现在我正在用 c# 编写一个 linq 查询,如果 Tender 表中有多行对应于 Transaction 表中的每个 Amount,它将返回两行。
我的查询如下所示:
(from T in context.Transactions
join TT in context.TenderType on T.ID equals TT.TransactionId
select new myModel
{
Amount = T.Amount,
TenderType = TT.TenderType
}).ToList();
对于这个查询,我的输出如下所示:
金额-----TenderType
150.00 ------ 10
246.66-------10
246.66-------20
但我的输出应该是这样的:
金额-----TenderType
150.00 ------ 10
246.66-------10/20
如何修改我的查询来实现这一点?
提前致谢。
【问题讨论】:
-
你有机会看看我的答案吗?
标签: c# linq linq-to-entities