Reputation: 522
I have two tables with different columns.
Balance.cs
public int Id { get; set; }
public string Location { get; set; }
public decimal Balance { get; set; }
public string Asset { get; set; }
public decimal ValueInUSD { get; set; }
Reserve.cs
public decimal? Balance { get; set; }
public string Asset { get; set; }
MainTable.cs
public string Asset { get; set; }
public decimal BalanceFromBalanceTable{ get; set; }
public decimal BalanceFromReserveTable{ get; set; }
My goal is to fill MainTable with data from Balance and Reserve tables. Problem is that these tables have different properties.
EDIT: Example with data as requested.
**Balance table**
Asset - USD; Balance - 25;
Asset - BTC; Balance - 10;
**rest of the columns are irrelevant
**Reserve table**
Asset - USD; Balance -200;
Asset - BTC; Balance - 1;
**Main Table**
Asset - USD; BalanceFromBalanceTable - 25; BalanceFromReserveTable - 200;
Asset - BTC; BalanceFromBalanceTable - 10; BalanceFromReserveTable - 1;
Upvotes: 0
Views: 107
Reputation: 334
var mainTableCol = from b in balance
join r in reserve on b.Asset equals r.Asset
select new MainTable(){ Asset = b.Asset
,BalanceFromBalanceTable = b.balance
,BalanceFromReserverTable = r.balance };
Upvotes: 3
Reputation: 522
Fixed it like this :
List<Balance> actives = item.GetItems();
List<Reserve> liabilities = Reserve.GetLiabilities();
List<MainTable> main= new List<MainTable>();
foreach(var active in actives)
{
foreach(var liability in liabilities)
{
if (active.AssetId == liability.AssetId)
{
main.Add(new MainTable
{
Active = active.Balance,
Liability = liability.Deposits,
AssetId = active.AssetId
});
}
}
}
Upvotes: 0