public static void Main()
var program = new Program();
program.getDBOptionOne();
program.getDBOptionTwo();
program.getDBOptionThree();
public async void getDBOptionTwo(){
var dbEntities = await _dbContext.CP_Entities
.Where(e => some_initial_conditions)
var allEntities = dbEntities
.Where(e => complex_condition_here)
public async void sqlLogger(){
optionsBuilder.LogTo(Console.WriteLine, LogLevel.Information);
public async void getDBOptionThree(){
var part1 = _dbContext.CP_Entities
var part2 = _dbContext.CP_Entities
var combined = part1.Concat(part2).Distinct().ToList();
public async void getDBOptionOne(){
var legalEntities = sellSideEntity != null
? await _dbContext.CP_Entities
.Where(e => e.EntityType == (int)EntityType.LegalEntity && e.EntityId == sellSideEntity.EntityId)
var investmentManagerSelection = await _dbContext.CP_Entities
.Where(e => e.EntityType == (int)EntityType.InvestmentManager
&& investmentManagerIds.Contains(e.UID)
&& e.FirmId == _fundProgressLaunchData.BuySideFirmId
&& e.ActiveStatus != (int)EntityActiveStatus.Inactive)
var managerEntitySelection = await _dbContext.CP_Entities
.Where(e => e.FirmId == _fundProgressLaunchData.SellSideFirmId
&& e.EntityType == _fundProgressLaunchData.BuySideFirmId
&& e.ParentEntityId == null
&& e.ActiveStatus != (int)EntityActiveStatus.Inactive)
var mandateFunds = fundWithDetail != null
? await _dbContext.CP_Entities
.Where(e => fundWithDetail.Any(f => f.InvestmentManagerUId == e.UID || f.ManagingInvestmentManagerUID == e.UID))
var investmentManagers = investmentManagerFundsUIds != null
? await _dbContext.CP_Entities
.Where(e => e.EntityType == (int)EntityType.InvestmentManager && investmentManagerFundsUIds.Contains(e.UID))
var allEntities = legalEntities
.Concat(investmentManagerSelection)
.Concat(managerEntitySelection)
.Concat(investmentManagers)