Simply move Guid.NewGuid() into for loop instead of adding it once.
using (TestDBEntities db = new TestDBEntities())
{
maintenance ObjMaintenance = new maintenance
{
BillNo=TVM.BillNo,
BillDate=TVM.BillDate,
Amount=TVM.Amount
};
foreach (var i in TVM.Expenses)
{
i.MaintenanceId= Guid.NewGuid();
ObjMaintenance.Expenses.Add(i);
}
db.maintenances.Add(ObjMaintenance);
db.SaveChanges();
status = true;
}