I am using Entity framework 4, SQLite database with database first approach. I have attached my table structure as a snapshot.
I am able to write/ read data in the Bnb_Company and Bnb_Player tables, but when I try to enter a row into the Bnb_Game table, I get the following error.
Entities in 'MockStockDbEntities.Bnb_Game' participate in the 'Bnb_CompanyBnb_Game' relationship. 0 related 'Bnb_Company' were found. 1 'Bnb_Company' is expected.!
//Reset company values
if (context.Bnb_Company.Count() > 0)
{
var companydetails = context.Bnb_Company.ToList();
foreach (var company in companydetails)
{
company.ESC = 0;
company.MarketValue = company.FaceValue;
}
context.SaveChanges();
}
if (context.Bnb_Player.Count() > 0)
{
var playerDetails = context.Bnb_Player.ToList();
//Reset Player values
foreach (var player in playerDetails)
{
player.NetAmount = 0;
player.Amount = 1000;
if (context.Bnb_Company.Count() > 0)
{
var companyDetails = context.Bnb_Company.ToList();
foreach (var company in companydetails)
{
if (context.Bnb_Game.Count() > 0 && (context.Bnb_Game.Where(b => b.PlayerId == player.Id && b.CompanyId == company.Id).Count() > 0))
{
var specificCompanyShare = context.Bnb_Game.Where(b => b.PlayerId == player.Id && b.CompanyId == company.Id).FirstOrDefault();
specificCompanyShare.Shares = company.DefaultShares;
}
else
{
Bnb_Game playerCompanyShare = new Bnb_Game();
playerCompanyShare.CompanyId = company.Id;
playerCompanyShare.PlayerId = player.Id;
playerCompanyShare.Shares = company.DefaultShares;
context.Bnb_Game.AddObject(playerCompanyShare);
}
}
}
}
context.SaveChanges();
}